skip_on_cran()
skip_if_not_installed("shinytest2")
skip_if_not_installed("callr")
skip_if_not_installed("ggplot2")
skip_if_not_installed("lattice")
test_app <- function(appDir) {
getFromNamespace("test_app", "shinytest2")(appDir, check_setup = FALSE)
}
platform <- getFromNamespace("platform_variant", "shinytest2")(
r_version = FALSE
)
# Default to running tests on macOS
do_tests <- identical(platform, "mac")
skip_if_not(as.logical(Sys.getenv("SHINYTEST_RUN_TESTS", do_tests)))
test_that("Custom fonts with ragg", {
skip_if_not_installed("ragg")
test_app("agg_png")
})
test_that("runtime: shiny auto-theming", {
skip_if_not(identical("win", platform))
test_app("shiny_runtime")
})
# The remaining tests rely on showtext to render custom fonts
skip_if_not_installed("showtext")
test_that("Auto theming in shiny works", {
# These shiny apps currently use remote urls to import Google fonts
skip_if_offline()
skip_if_not(capabilities()[["aqua"]])
test_app("auto_theme_shiny/base")
test_app("auto_theme_shiny/lattice")
test_app("auto_theme_shiny/ggplot2")
test_app("auto_theme_shiny/local_theme")
test_app("auto_theme_shiny/with_theme")
})
test_that("Custom fonts with Cairo package", {
skip_if_not_installed("Cairo")
test_app("CairoPNG")
})
test_that("Custom fonts with quartz device", {
skip_if_not(capabilities()[["aqua"]])
test_app("quartz_png")
})
test_that("Custom fonts with cairo capabilities", {
skip_if_not(capabilities()[["cairo"]])
test_app("cairo_png")
# TODO: figure out why this is failing on mac
skip_if_not(!identical(platform, "mac"))
test_app("cairo_svg")
})
# Remaining tests are rmarkdown specific
skip_if_not_installed("rmarkdown")
test_that("Auto theming in rmarkdown works", {
skip_if_not(capabilities()[["aqua"]])
test_app("auto_theme_rmd/darkly_rmd")
})
test_that("Can render non-custom fonts in rmarkdown with quartz png", {
skip_if_not(capabilities()[["aqua"]])
test_app("quartz_png_rmd")
})
test_that("Can render non-custom fonts in rmarkdown with CairoPNG", {
skip_if_not_installed("Cairo")
test_app("CairoPNG_rmd")
})
test_that("pdf_document compiles without error", {
skip_if_not(!identical("win", platform))
outfile <- rmarkdown::render("pdf.Rmd", quiet = TRUE)
expect_true(file.exists(outfile))
unlink(outfile)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.