Nothing
test_that("as_vegaspec translates", {
# need to go to json and back because of data-frame in vw_ex_mtcars
spec_ref <- spec_mtcars %>% vw_as_json() %>% as_vegaspec()
spec_json <- vw_as_json(spec_ref)
expect_identical(as_vegaspec(spec_ref), spec_ref)
expect_identical(as_vegaspec(spec_json), spec_ref)
})
test_that("class is correct", {
expect_type(as_vegaspec(unclass(spec_mtcars)), "list")
expect_s3_class(as_vegaspec(unclass(spec_mtcars)), "vegaspec")
expect_s3_class(as_vegaspec(unclass(spec_mtcars)), "vegaspec_vega_lite")
spec_mtcars_vega <- vw_to_vega(spec_mtcars)
expect_type(spec_mtcars_vega, "list")
expect_s3_class(spec_mtcars_vega, "vegaspec")
expect_s3_class(spec_mtcars_vega, "vegaspec_vega")
})
test_that("vw_as_json handles NULLS", {
spec_test <- list(
`$schema` = "https://vega.github.io/schema/vega-lite/v2.json",
width = NULL,
height = NULL
)
spec_test_json <- vw_as_json(spec_test)
expect_match(spec_test_json, '"width": null')
expect_match(spec_test_json, '"height": null')
})
test_that("vegaspec without $schema warns and adds element", {
spec_test <- list()
# warning
expect_warning(
spec_ref <- as_vegaspec(spec_test)
)
# check result
expect_identical(
spec_ref,
as_vegaspec(list(`$schema` = vega_schema()))
)
})
test_that("as_vegaspec reads UTF-8 correctly", {
filename <- "test_encoding_utf8.vl4.json"
description <- "ceci une version allégée d'une spécification vega-lite"
# cleans up file
withr::local_file(filename)
fileConn <- file(filename, encoding = "UTF-8")
writeLines(
glue_js(
"{",
" \"$schema\": \"https://vega.github.io/schema/vega-lite/v4.json\",",
" \"description\": \"${description}\"",
"}"
),
fileConn
)
close(fileConn)
myspec <- vegawidget::as_vegaspec(filename)
expect_identical(myspec$description, description)
})
test_that("as_vegaspec reads urls correctly", {
skip_on_cran()
myspec <- as_vegaspec("https://raw.githubusercontent.com/vega/vega-lite/next/examples/specs/bar.vl.json")
expect_s3_class(myspec, "vegaspec_vega_lite")
})
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.