# -- {.email} -------------------------------------------------------------
test_that_cli(configs = c("plain", "fancy"), links = c("all", "none"),
"{.email}", {
expect_snapshot({
cli_text("{.email bugs.bunny@acme.com}")
})
})
test_that_cli(configs = c("plain", "fancy"), links = c("all", "none"),
"{.email} vectors", {
expect_snapshot({
emails <- paste0("bugs.bunny-", 1:3, "@acme.com")
cli_text("{.email {emails}}")
})
})
# -- {.file} and {.path} --------------------------------------------------
test_that_cli(configs = c("plain", "fancy"), links = c("all", "none"),
"{.file} and {.path}", {
withr::local_envvar(R_CLI_HYPERLINK_STYLE = NA_character_)
# absolute path
expect_snapshot({
cli_text("{.file /absolute/path}")
cli_text("{.file file:///absolute/path}")
cli_text("{.path /absolute/path}")
cli_text("{.path file:///absolute/path}")
})
# relative path
expect_snapshot({
cli_text("{.file relative/path}")
cli_text("{.file ./relative/path}")
cli_text("{.path relative/path}")
cli_text("{.path ./relative/path}")
}, transform = sanitize_wd)
# ~
expect_snapshot({
cli_text("{.file ~/relative/path}")
cli_text("{.path ~/relative/path}")
}, transform = sanitize_home)
# vectorized
expect_snapshot({
paths <- c("~/foo", "bar", "file:///abs")
cli_text("{.file {paths}}")
}, transform = function(x) sanitize_home(sanitize_wd(x)))
# weird names
expect_snapshot({
paths <- c("foo ", " bar ", "file:///a bs ")
cli_text("{.file {paths}}")
}, transform = sanitize_wd)
# hand created hyperlink is skipped
expect_snapshot({
name <- cli::style_hyperlink("/foo/bar", "/foo/bar")
cli_text("{.file {name}}")
})
# line numbers
expect_snapshot({
cli_text("{.file /absolute/path:12}")
cli_text("{.file file:///absolute/path:5}")
cli_text("{.path /absolute/path:123}")
cli_text("{.path file:///absolute/path:51}")
})
expect_snapshot({
cli_text("{.file relative/path:12}")
cli_text("{.file ./relative/path:5}")
cli_text("{.path relative/path:123}")
cli_text("{.path ./relative/path:51}")
}, transform = sanitize_wd)
expect_snapshot({
cli_text("{.file ~/relative/path:12}")
cli_text("{.path ~/relative/path:5}")
}, transform = sanitize_home)
# line and column numbers
expect_snapshot({
cli_text("{.file /absolute/path:12:5}")
cli_text("{.file file:///absolute/path:5:100}")
cli_text("{.path /absolute/path:123:1}")
cli_text("{.path file:///absolute/path:51:6}")
})
expect_snapshot({
cli_text("{.file relative/path:12:13}")
cli_text("{.file ./relative/path:5:20}")
cli_text("{.path relative/path:123:21}")
cli_text("{.path ./relative/path:51:2}")
}, transform = sanitize_wd)
expect_snapshot({
cli_text("{.file ~/relative/path:12:23}")
cli_text("{.path ~/relative/path:5:2}")
}, transform = sanitize_home)
expect_snapshot({
paths <- c("~/foo", "bar:10", "file:///abs:10:20")
cli_text("{.file {paths}}")
}, transform = function(x) sanitize_home(sanitize_wd(x)))
local_mocked_bindings(is_windows = function() TRUE)
expect_equal(
abs_path1("c:/foo/bar"),
"file://c:/foo/bar"
)
})
# -- {.fun} ---------------------------------------------------------------
test_that_cli(configs = "plain", links = c("all", "none"),
"{.fun}", {
expect_snapshot({
cli_text("{.fun myfun}")
cli_text("{.fun mypackage::myfun}")
})
expect_snapshot({
funs <- paste0("mypkg::myfun", 1:3)
cli_text("{.fun {funs}}")
})
})
test_that_cli(configs = "plain", links = "all", "turning off help", {
withr::local_options(cli.hyperlink_help = FALSE)
expect_snapshot({
cli_text("{.fun pkg::func}")
})
})
test_that_cli(configs = "plain", links = "all", ".fun with custom format", {
withr::local_options(cli.hyperlink_help_url_format = "aaa-{topic}-zzz")
expect_snapshot({
cli_text("{.fun pkg::func}")
})
})
# -- {.help} --------------------------------------------------------------
test_that_cli(configs = "plain", links = c("all", "none"),
"{.help}", {
expect_snapshot({
cli_text("{.help pkg::fun}")
cli_text("{.help [link text](pkg::fun)}")
})
expect_snapshot({
funcs <- paste0("pkg::fun", 1:3)
cli_text("{.help {funcs}}")
})
})
test_that_cli(configs = "plain", links = "all", ".help with custom format", {
withr::local_options(cli.hyperlink_help_url_format = "aaa-{topic}-zzz")
expect_snapshot({
cli_text("{.help pkg::fun}")
})
})
# -- {.href} --------------------------------------------------------------
test_that_cli(configs = "plain", links = c("all", "none"),
"{.href}", {
expect_snapshot({
cli_text("{.href https://cli.r-lib.org}")
cli_text("{.href [linktext](https://cli.r-lib.org)}")
cli_text("{.href [link text](https://cli.r-lib.org)}")
})
})
test_that_cli(configs = "plain", links = c("all", "none"),
"{.href} vectors", {
expect_snapshot({
url <- paste0("https://cli.r-lib.org/", 1:3)
cli_text("{.href {url}}")
})
})
# -- {.run} ---------------------------------------------------------------
test_that_cli(configs = "plain", links = c("all", "none"),
"{.run}", {
expect_snapshot({
cli_text("{.run pkg::fun(param)}")
cli_text("{.run [run(p1, p2)](pkg::fun(p1, p2, other = 'foo'))}")
})
})
test_that_cli(configs = "plain", links = c("all", "none"),
"{.run} vectors", {
expect_snapshot({
codes <- paste0("pkg::fun", 1:3, "()")
cli_text("{.run {codes}}")
})
})
test_that_cli(configs = "plain", links = "all", ".run with custom format", {
withr::local_options(cli.hyperlink_run_url_format = "aaa-{code}-zzz")
expect_snapshot({
cli_text("{.run devtools::document()}")
})
})
# -- {.topic} -------------------------------------------------------------
test_that_cli(configs = "plain", links = c("all", "none"),
"{.topic}", {
expect_snapshot({
cli_text("{.topic pkg::topic}")
cli_text("{.topic [link text](pkg::topic)}")
})
expect_snapshot({
topics <- paste0("pkg::topic", 1:3)
cli_text("{.topic {topics}}")
})
})
test_that_cli(configs = "plain", links = "all", ".topic with custom format", {
withr::local_options(cli.hyperlink_help_url_format = "aaa-{topic}-zzz")
expect_snapshot({
cli_text("{.topic pkg::fun}")
})
})
# -- {.url} ---------------------------------------------------------------
test_that_cli(configs = c("plain", "fancy"), links = c("all", "none"),
"{.url}", {
expect_snapshot({
cli_text("{.url https://cli.r-lib.org}")
})
})
test_that_cli(configs = c("plain", "fancy"), links = c("all", "none"),
"{.url} vector", {
expect_snapshot({
urls <- paste0("https://cli.r-lib.org/", 1:3)
cli_text("{.url {urls}}")
})
})
test_that_cli(configs = "plain", links = "all", "linked {.url}", {
expect_snapshot({
link <- c(
"https://cli.r-lib.org",
style_hyperlink("text", "https://cli.r-lib.org")
)
cli_text("{.url {link}}")
})
})
test_that("make_link_url", {
withr::local_options(cli.hyperlink = TRUE)
x <- style_hyperlink(paste0("foo", 1:3), paste0("https://foo.bar/", 1:3))
expect_equal(make_link_url(x), x)
})
# -- {.vignette} ----------------------------------------------------------
test_that_cli(configs = "plain", links = c("all", "none"),
"{.vignette}", {
expect_snapshot({
cli_text("{.vignette pkg::name}")
cli_text("{.vignette [link text](pkg::name)}")
})
expect_snapshot({
vignettes <- paste0("pkg::topic", 1:3)
cli_text("{.vignette {vignettes}}")
})
})
test_that_cli(configs = "plain", links = "all", ".vignette with custom format", {
withr::local_options(cli.hyperlink_vignette_url_format = "aaa-{vignette}-zzz")
expect_snapshot({
cli_text("{.vignette pkgdown::accessibility}")
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.