test_that("html_tags() works", {
id <- stri_rand_strings(1, 10)
result <- html_tags(div(id = id), autoreload_assets())
expect_class(result, "shiny.tag.list")
render <- html_render(result)
expect_string(render, fixed = "autoreload.js")
expect_string(render, fixed = id)
})
test_that("html_template() works properly", {
# `htmltools` engine
content <- stri_rand_strings(1, 10)
result <- html_template(
pkg_inst("templates/document.html"),
content = content
)
expect_class(result, "shiny.tag.list")
render <- html_render(result)
expect_string(render, fixed = "autoreload.js")
expect_string(render, fixed = content)
# `whisker` engine
html_tags <- map(names(tags), ~list(name = .))
result <- html_mustache(
pkg_inst("templates/whisker.html"),
tags = html_tags,
assets = autoreload_assets()
)
expect_class(result, "shiny.tag.list")
render <- html_render(result)
expect_string(render, fixed = "autoreload.js")
expect_string(render, fixed = "linearGradient")
# Don't use names that are also tags
title <- "title"
expect_error(
html_template(
pkg_inst("templates/fragment.html"),
title = title,
subtitle = "subtitle"
),
"use these symbols"
)
})
test_that("html_tags() can nest html_template()", {
page_title <- stri_rand_strings(1, 10)
result <- html_tags(
autoreload_assets(),
div(
h1("Pre-title"),
html_template(
pkg_inst("templates/fragment.html"),
title = page_title,
subtitle = "subtitle",
autoreload_assets = autoreload_assets
)
)
)
expect_class(result, "shiny.tag.list")
render <- html_render(result)
expect_string(render, fixed = "autoreload.js")
expect_string(render, fixed = page_title)
})
test_that("html_template() can nest html_tags()", {
page_title <- stri_rand_strings(1, 10)
result <- html_template(
file = pkg_inst("templates/fragment.html"),
title = html_tags(em(page_title), autoreload_assets()),
subtitle = "subtitle"
)
expect_class(result, "shiny.tag.list")
render <- html_render(result)
expect_string(render, fixed = "autoreload.js")
expect_string(render, fixed = page_title)
})
test_that("html_script() works properly", {
result <- html_script(
file = pkg_inst("js/autoreload/main.js"),
libs = "assets",
version = "1.0.0"
)
expect_equal(result$name, "script")
expect_string(result$children[[1]], fixed = "assets/autoreload-1.0.0")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.