Nothing
test_that("tt_datasets throws errors when asking for invalid years", {
local_tt_mocked_bindings(
tt_years = function(...) {
2018:2024
}
)
expect_error(
{
tt_datasets(2017)
},
class = "tt-error-invalid_year"
)
})
test_that("printing tt_datasets returns all the values as a printed data.frame if not interactive", {
ds <- structure(
data.frame(a = 1:2, b = 3:4),
.html = "the_html",
class = "tt_dataset_table"
)
expect_snapshot({
print(ds, is_interactive = FALSE)
})
})
test_that("tt_available returns object with all years data available", {
local_tt_mocked_bindings(
tt_years = function(...) {
2019:2020
},
gh_get_readme_html = function(...) {
xml2::read_html(test_path("fixtures", "readme2020.html"))
}
)
ds <- tt_available()
expect_s3_class(ds, "tt_dataset_table_list")
expect_setequal(names(ds), as.character(tt_years()))
ds_content <- as.list(unclass(ds))
ds_content_data <-
lapply(ds_content, function(x) {
data.frame(unclass(x), stringsAsFactors = FALSE)
})
ds_content_html <-
lapply(ds_content, function(x) {
rvest::html_table(attr(x, ".html"))[[1]]
})
expect_equal(
ds_content_html,
ds_content_data,
ignore_attr = TRUE
)
})
test_that("printing tt_available returns all the values as a printed data.frame if not interactive", {
ds <- structure(
list(test_year = data.frame(a = 1:2, b = 3:4)),
class = c("tt_dataset_table_list")
)
expect_snapshot({
print(ds, is_interactive = FALSE)
})
})
test_that("tt_dataset_table and tt_dataset_table_list objects can make html outputs", {
local_tt_mocked_bindings(
tt_years = function(...) {
2019:2020
},
gh_get_readme_html = function(...) {
xml2::read_html(test_path("fixtures", "readme2020.html"))
}
)
ds_tl <- tt_available()
ds_t <- tt_datasets(2019)
tmpfile <- withr::local_tempfile(fileext = ".html")
ds_tl_html <- make_tt_dataset_list_html(ds_tl, file = tmpfile)
tmpfile2 <- withr::local_tempfile(fileext = ".html")
ds_t_html <- make_tt_dataset_html(ds_t, file = tmpfile2)
expect_true(file.exists(tmpfile))
expect_true(file.exists(tmpfile2))
expect_equal(
xml2::read_html(tmpfile),
ds_tl_html
)
expect_equal(
xml2::read_html(tmpfile2),
ds_t_html
)
})
test_that("save_tt_object saves an html file", {
expect_true(
grepl("html$", {
save_tt_object("", function(x, file) x)
})
)
})
test_that("tt_dataset_table and tt_dataset_table_list objects print through html_viewer when interactive", {
local_mocked_bindings(
html_viewer = function(url) {
message(url)
},
save_tt_object = function(x, fn) {
"tmpfile_path"
}
)
ds <- structure("", class = "tt_dataset_table")
expect_message(
{
print(ds, is_interactive = TRUE)
},
"tmpfile_path"
)
ds <- structure("", class = "tt_dataset_table_list")
expect_message(
{
print(ds, is_interactive = TRUE)
},
"tmpfile_path"
)
})
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.