Nothing
test_that("glassTabPanel() returns correct class", {
expect_s3_class(glassTabPanel("a", "Tab A"), "glassTabPanel")
})
test_that("glassTabPanel() stores value and label", {
p <- glassTabPanel("my_tab", "My Label")
expect_equal(p$value, "my_tab")
expect_equal(p$label, "My Label")
})
test_that("glassTabPanel() selected defaults to FALSE", {
expect_false(glassTabPanel("a", "A")$selected)
})
test_that("glassTabPanel() selected = TRUE is stored", {
expect_true(glassTabPanel("a", "A", selected = TRUE)$selected)
})
test_that("glassTabPanel() stores content elements", {
p <- glassTabPanel("a", "A", shiny::p("Hello"), shiny::p("World"))
expect_length(p$content, 2)
})
test_that("glassTabPanel() accepts empty content", {
expect_length(glassTabPanel("a", "A")$content, 0)
})
test_that("glassTabsUI() returns an htmltools object", {
ui <- glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE),
glassTabPanel("b", "B"))
expect_true(inherits(ui, c("shiny.tag", "shiny.tag.list")))
})
test_that("glassTabsUI() errors with no panels", {
expect_error(glassTabsUI("nav"), "at least one", class = "glasstabs_error_bad_argument")
})
test_that("glassTabsUI() errors if non-glassTabPanel passed", {
expect_error(glassTabsUI("nav", "not a panel"), "glassTabPanel", class = "glasstabs_error_bad_argument")
})
test_that("glassTabsUI() accepts dark theme string", {
expect_no_error(glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE), theme = "dark"))
})
test_that("glassTabsUI() accepts light theme string", {
expect_no_error(glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE), theme = "light"))
})
test_that("glassTabsUI() accepts glass_tab_theme() object", {
t <- glass_tab_theme(halo_bg = "rgba(255,0,0,0.1)")
expect_no_error(glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE), theme = t))
})
test_that("glassTabsUI() errors on invalid theme string", {
expect_error(
glassTabsUI("nav", glassTabPanel("a", "A", selected = TRUE), theme = "hot-pink"),
class = "glasstabs_error_bad_theme"
)
})
test_that("glassTabsUI() renders HTML containing all tab values", {
html <- as.character(glassTabsUI("nav",
glassTabPanel("overview", "Overview", selected = TRUE),
glassTabPanel("details", "Details")))
expect_true(grepl("overview", html))
expect_true(grepl("details", html))
})
test_that("glassTabsUI() scoped CSS block contains the widget id", {
html <- as.character(glassTabsUI("mynav",
glassTabPanel("a", "A", selected = TRUE)))
expect_true(grepl("mynav-wrap", html))
})
test_that("glassTabsUI() injects all theme CSS variables", {
html <- as.character(glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE)))
for (v in c("--gt-tab-text:", "--gt-tab-active-text:", "--gt-halo-bg:",
"--gt-halo-border:", "--gt-focus-ring:", "--gt-content-bg:",
"--gt-content-border:",
"--gt-card-bg:", "--gt-card-text:")) {
expect_true(grepl(v, html, fixed = TRUE), info = v)
}
})
test_that("glassTabsUI() custom focus ring appears in scoped CSS", {
theme <- glass_tab_theme(focus_ring = "#f97316")
html <- as.character(glassTabsUI(
"nav",
glassTabPanel("a", "A", selected = TRUE),
theme = theme
))
expect_match(html, "--gt-focus-ring:#f97316", fixed = TRUE)
})
test_that("glassTabsUI() custom halo_bg appears in scoped CSS", {
t <- glass_tab_theme(halo_bg = "rgba(1,2,3,0.5)")
html <- as.character(glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE), theme = t))
expect_true(grepl("rgba(1,2,3,0.5)", html, fixed = TRUE))
})
test_that("glassTabsUI() wrap = TRUE adds gt-container class", {
html <- as.character(glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE), wrap = TRUE))
expect_true(grepl("gt-container", html))
})
test_that("glassTabsUI() wrap = FALSE omits gt-container class", {
html <- as.character(glassTabsUI("nav",
glassTabPanel("a", "A", selected = TRUE), wrap = FALSE))
expect_false(grepl("gt-container", html))
})
test_that("glassTabsUI() first panel is active by default", {
html <- as.character(glassTabsUI("nav",
glassTabPanel("first", "First"),
glassTabPanel("second", "Second")))
expect_true(grepl("gt-tab-pane active", html))
})
test_that("glassTabsUI() respects explicit selected argument", {
html <- as.character(glassTabsUI("nav",
glassTabPanel("first", "First"),
glassTabPanel("second", "Second"),
selected = "second"))
expect_true(grepl('data-value="second"', html, fixed = TRUE))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.