mirror of
https://github.com/rstudio/shiny.git
synced 2026-01-14 09:28:02 -05:00
* fix: allow update input labels with HTML fixes #3995 * refactor: use processDeps and renderContent * fix: formatting on lists * fix: put spaces between infix * chore: generated files * fix: update input tests * revert: generated javascript and sourcemaps * fix: empty label check * Remove package-lock * Undo unintended change when merging * Update news * Simplify --------- Co-authored-by: Carson <cpsievert1@gmail.com>
36 lines
1.2 KiB
R
36 lines
1.2 KiB
R
test_that("Radio buttons and checkboxes work with modules", {
|
|
createModuleSession <- function(moduleId) {
|
|
session <- as.environment(list(
|
|
ns = NS(moduleId),
|
|
sendInputMessage = function(inputId, message) {
|
|
session$lastInputMessage = list(id = inputId, message = message)
|
|
}
|
|
))
|
|
class(session) <- "ShinySession"
|
|
session
|
|
}
|
|
|
|
sessA <- createModuleSession("modA")
|
|
|
|
updateRadioButtons(sessA, "test1", label = "Label", choices = letters[1:5])
|
|
resultA <- sessA$lastInputMessage
|
|
|
|
expect_equal(resultA$id, "test1")
|
|
expect_equal(as.character(resultA$message$label$html), "Label")
|
|
expect_equal(resultA$message$value, "a")
|
|
expect_match(resultA$message$options, '"modA-test1"')
|
|
expect_no_match(resultA$message$options, '"test1"')
|
|
|
|
sessB <- createModuleSession("modB")
|
|
|
|
updateCheckboxGroupInput(sessB, "test2", label = icon("eye"), choices = LETTERS[1:5])
|
|
resultB <- sessB$lastInputMessage
|
|
|
|
expect_equal(resultB$id, "test2")
|
|
expect_length(resultB$message$label, 2)
|
|
expect_s3_class(resultB$message$label$html, "html")
|
|
expect_null(resultB$message$value)
|
|
expect_match(resultB$message$options, '"modB-test2"')
|
|
expect_no_match(resultB$message$options, '"test2"')
|
|
})
|