Nothing
test_that('asset_route function returns AssetRoute object', {
route <- asset_route("/assets", "fixtures/test_files")
expect_s3_class(route, "AssetRoute")
expect_equal(route$at, "/assets")
expect_equal(route$path, "fixtures/test_files")
})
test_that('AssetRoute validates path exists', {
expect_snapshot(
AssetRoute$new(at = "/assets", path = "non/existent/path"),
error = TRUE
)
})
test_that('AssetRoute validates input parameters', {
# Test at parameter validation
expect_snapshot(
AssetRoute$new(at = 123, path = "fixtures/test_files"),
error = TRUE
)
# Test use_index parameter validation
expect_snapshot(
AssetRoute$new(at = "/assets", path = "fixtures/test_files", use_index = "yes"),
error = TRUE
)
# Test fallthrough parameter validation
expect_snapshot(
AssetRoute$new(at = "/assets", path = "fixtures/test_files", fallthrough = "yes"),
error = TRUE
)
# Test html_charset parameter validation
expect_snapshot(
AssetRoute$new(at = "/assets", path = "fixtures/test_files", html_charset = 123),
error = TRUE
)
# Test headers parameter validation
expect_snapshot(
AssetRoute$new(at = "/assets", path = "fixtures/test_files", headers = list("Content-Type")),
error = TRUE
)
# Test validation parameter validation
expect_snapshot(
AssetRoute$new(at = "/assets", path = "fixtures/test_files", validation = 123),
error = TRUE
)
# Test except parameter validation
expect_snapshot(
AssetRoute$new(at = "/assets", path = "fixtures/test_files", except = 123),
error = TRUE
)
})
test_that('AssetRoute accessors work', {
route <- asset_route("/assets", "fixtures/test_files")
# Test getters
expect_equal(route$at, "/assets")
expect_equal(route$path, "fixtures/test_files")
expect_true(route$use_index)
expect_false(route$fallthrough)
expect_equal(route$html_charset, "utf-8")
expect_equal(route$headers, list())
expect_null(route$validation)
expect_equal(route$except, character(0))
expect_equal(route$name, "asset_routr")
# Test setters
route$at <- "/static"
expect_equal(route$at, "/static")
route$path <- "fixtures"
expect_equal(route$path, "fixtures")
route$use_index <- FALSE
expect_false(route$use_index)
route$fallthrough <- TRUE
expect_true(route$fallthrough)
route$html_charset <- "UTF-16"
expect_equal(route$html_charset, "UTF-16")
route$headers <- list("X-Test" = "Value")
expect_equal(route$headers, list("X-Test" = "Value"))
route$validation <- "test-validation"
expect_equal(route$validation, "test-validation")
route$except <- c("/admin")
expect_equal(route$except, c("/admin"))
})
test_that('AssetRoute path setter validates path exists', {
route <- asset_route("/assets", "fixtures/test_files")
expect_snapshot(
route$path <- "non/existent/path",
error = TRUE
)
})
test_that('AssetRoute headers setter validates input', {
route <- asset_route("/assets", "fixtures/test_files")
# Test headers must be named
expect_snapshot(
route$headers <- list("Content-Type"),
error = TRUE
)
# Test headers values must be strings
expect_snapshot(
route$headers <- list("Content-Type" = 123),
error = TRUE
)
})
test_that('is.AssetRoute correctly identifies AssetRoute objects', {
route <- asset_route("/assets", "fixtures/test_files")
not_route <- list()
expect_true(is.AssetRoute(route))
expect_false(is.AssetRoute(not_route))
})
test_that('AssetRoute on_attach method works', {
route <- asset_route("/assets", "fixtures/test_files")
# Mock a fiery app object
app <- fiery::Fire$new()
# Call on_attach
app$attach(route)
# Verify that the app's attach method was called
expect_named(app$plugins, "asset_routr")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.