test_that("reactableLang", {
expect_equal(reactableLang(), structure(list(), class = "reactableLang"))
expect_equal(reactableLang(sortLabel = "_Sort {name}", searchPlaceholder = "", noData = NULL),
structure(list(sortLabel = "_Sort {name}", searchPlaceholder = ""), class = "reactableLang"))
lang <- list(
# Sorting
sortLabel = "_Sort {name}",
# Filters
filterPlaceholder = "_Filter",
filterLabel = "_Filter {name}",
# Search
searchPlaceholder = "_Search",
searchLabel = "_Search",
# Tables
noData = "_No rows found",
# Pagination
pageNext = "_Next",
pagePrevious = "_Previous",
pageNumbers = "_{page} of {pages}",
pageInfo = "_{rowStart}–{rowEnd} of {rows} rows",
pageSizeOptions = "_Show {rows}",
pageNextLabel = "_Next page",
pagePreviousLabel = "_Previous page",
pageNumberLabel = "_Page {page}",
pageJumpLabel = "_Go to page",
pageSizeOptionsLabel = "_Rows per page",
# Row grouping
groupExpandLabel = "_Toggle group",
# Row details
detailsExpandLabel = "_Toggle details",
# Selection
selectAllRowsLabel = "_Select all rows",
selectAllSubRowsLabel = "_Select all rows in group",
selectRowLabel = "_Select row {row}"
)
expect_equal(do.call(reactableLang, lang), structure(lang, class = "reactableLang"))
# Expressions should work
expect_equal(reactableLang(noData = paste("no", "data"))$noData, "no data")
expect_equal(reactableLang(pageInfo = (function() "pageinfo")())$pageInfo, "pageinfo")
expect_equal(do.call(reactableLang, list(sortLabel = "sort"))$sortLabel, "sort")
# Errors
expect_error(reactableLang(noData = 123, detailsExpandLabel = TRUE), "`noData` must be a character string")
expect_error(reactableLang(selectRowLabel = list()), "`selectRowLabel` must be a character string")
# Deprecations
deprecatedArgs <- c("defaultGroupHeader", "detailsCollapseLabel", "deselectAllRowsLabel",
"deselectAllSubRowsLabel", "deselectRowLabel")
for (arg in deprecatedArgs) {
expect_warning(
do.call(reactableLang, setNames(list("label"), arg)),
sprintf("`%s` is deprecated and no longer used", arg)
)
}
})
test_that("is.reactableLang", {
expect_true(is.reactableLang(reactableLang()))
expect_false(is.reactableLang(list()))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.