test_that("Cache management works", {
# clearing a cache inactivates the caching functionality.
expect_false(cache_info(format = "tabular")$activated)
local_test_setup(cache = TRUE)
# at fresh startup
expect_s3_class(cache_info(format = "tabular"), "data.frame")
expect_error(capture.output(cache_info()), NA)
expect_equal(basename(cache_activate()), styler_version)
expect_equal(basename(cache_activate("xyz")), "xyz")
expect_equal(getOption("styler.cache_name"), "xyz")
# when cache xyz is activated, cache_info() shows deactivated for other caches
expect_false(cache_info(styler_version, format = "tabular")$activated)
expect_error(capture.output(cache_info(format = "lucid")), NA)
# cache_info() defaults to the currently active cache
expect_equal(basename(cache_info(format = "tabular")$location), "xyz")
cache_deactivate()
# cache_info() defaults to the cache of the version of styler if
# not cache is active
expect_equal(
basename(cache_info(format = "tabular")$location), styler_version
)
expect_false(cache_info(format = "tabular")$activated)
expect_equal(getOption("styler.cache_location"), NULL)
expect_error(cache_clear("testthat", ask = FALSE), NA)
})
test_that("cached expressions are displayed propperly", {
skip_if(getRversion() < "4.2")
cache_info <- cache_info("testthat", format = "tabular")
expect_snapshot({
cache_info[, c("n", "size", "last_modified", "activated")]
})
local_test_setup(cache = TRUE)
style_text("1+1")
cache_info <- cache_info(format = "tabular")
cache_info$size <- round(cache_info$size, -2)
expect_snapshot({
cache_info[, c("n", "size", "activated")]
})
style_text("a <-function() NULL")
cache_info <- cache_info(format = "tabular")
cache_info$size <- round(cache_info$size, -2)
expect_snapshot({
cache_info[, c("n", "size", "activated")]
})
})
test_that("When expressions are cached, number of newlines between them are preserved", {
local_test_setup(cache = TRUE)
text <- c(
"1 + 1",
"",
"",
"f(x)",
"",
"",
"",
"x < 3",
"function() NULL"
)
# add to cache
expect_equal(text[1:4], as.character(style_text(text[1:4])))
# applied cache
expect_equal(text[1:4], as.character(style_text(text[1:4])))
expect_equal(text, as.character(style_text(text)))
})
test_that("cache is deactivated at end of caching related testthat file", {
expect_false(cache_is_activated())
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.