Files
shiny/tests/testthat/test-actionButton.R
2021-01-29 10:34:14 -06:00

58 lines
1.4 KiB
R

test_that("Action button accepts class arguments", {
make_button <- function(class) {
if (missing(class)) {
actionButton("id", "label")
} else {
actionButton("id", "label", class = class)
}
}
act <- make_button()
get_class <- function(act) {
act_html <- format(act)
regmatches(act_html, regexec("class=\"[^\"]\"", act_html))[[1]]
}
act_class <- get_class(act)
expect_equal(
get_class(make_button(NULL)), act_class
)
expect_equal(
get_class(make_button(NA)), act_class
)
expect_equal(
get_class(make_button("extra")), sub("\"$", " extra\"", act_class)
)
expect_equal(
get_class(make_button("extra extra2")), sub("\"$", " extra extra2\"", act_class)
)
})
test_that("Action link accepts class arguments", {
make_link <- function(class) {
if (missing(class)) {
actionLink("id", "label")
} else {
actionLink("id", "label", class = class)
}
}
act <- make_link()
get_class <- function(act) {
act_html <- format(act)
regmatches(act_html, regexec("class=\"[^\"]\"", act_html))[[1]]
}
act_class <- get_class(act)
expect_equal(
get_class(make_link(NULL)), act_class
)
expect_equal(
get_class(make_link(NA)), act_class
)
expect_equal(
get_class(make_link("extra")), sub("\"$", " extra\"", act_class)
)
expect_equal(
get_class(make_link("extra extra2")), sub("\"$", " extra extra2\"", act_class)
)
})