test_that("wa_page defaults render the minimal wrapper", { expect_exact_html( render_html(shiny.webawesome:::wa_page()), c("") ) }) test_that("wa_page override render includes attrs and named slots", { expect_exact_html( render_html( shiny.webawesome:::wa_page( "Main content", id = "page", class = "shell", style = "min-height: 100vh;", disable_navigation_toggle = TRUE, mobile_breakpoint = "50em", nav_open = TRUE, navigation_placement = "end", view = "mobile", aside = "Aside", banner = "Banner", footer = "Footer", header = "Header", main_footer = "Main footer", main_header = "Main header", menu = "Menu", navigation = "Navigation", navigation_footer = "Navigation footer", navigation_header = "Navigation header", navigation_toggle = "Toggle", navigation_toggle_icon = "Toggle icon", skip_to_content = "Skip", subheader = "Subheader" ) ), c( paste0( '' ), " Main content", ' Aside', ' Banner', ' Footer', ' Header', ' Main footer', ' Main header', ' Menu', ' Navigation', ' Navigation footer', ' Navigation header', ' Toggle', ' Toggle icon', ' Skip', ' Subheader', "" ) ) }) test_that("wa_page enum args validate exactly", { expect_error( shiny.webawesome:::wa_page(navigation_placement = "left"), '`navigation_placement` must be one of "end", "start".', fixed = TRUE ) expect_error( shiny.webawesome:::wa_page(view = "tablet"), '`view` must be one of "desktop", "mobile".', fixed = TRUE ) })