Nothing
test_that("font_liberation() returns font_spec", {
spec <- font_liberation("sans")
expect_s3_class(spec, "font_spec")
expect_identical(spec$family, "Liberation Sans")
expect_identical(spec$variant, "sans")
expect_identical(spec$source, "liberation")
spec_mono <- font_liberation("mono")
expect_identical(spec_mono$family, "Liberation Mono")
expect_identical(spec_mono$variant, "mono")
spec_serif <- font_liberation("serif")
expect_identical(spec_serif$family, "Liberation Serif")
expect_identical(spec_serif$variant, "serif")
})
test_that("font_google() returns font_spec", {
skip_if_not_ready()
spec <- font_google("Roboto")
expect_s3_class(spec, "font_spec")
expect_identical(spec$family, "Roboto")
expect_identical(spec$subset, c("latin", "latin-ext"))
expect_identical(spec$source, "google")
spec2 <- font_google("Open Sans", subset = "latin")
expect_identical(spec2$subset, "latin")
})
test_that("font_set_liberation() works", {
fonts <- font_set_liberation()
expect_s3_class(fonts, "font_set")
expect_identical(fonts$sans, "Liberation Sans")
expect_identical(fonts$serif, "Liberation Serif")
expect_identical(fonts$mono, "Liberation Mono")
expect_identical(fonts$symbol, "Liberation Sans")
expect_length(fonts$dependencies, 4L)
expect_identical(
fonts$dsvg_fonts,
list(
sans = "Liberation Sans",
serif = "Liberation Serif",
mono = "Liberation Mono",
symbol = "Liberation Sans"
)
)
expect_identical(
fonts$sources,
list(
sans = "liberation",
serif = "liberation",
mono = "liberation",
symbol = "liberation"
)
)
})
test_that("font_set() with system font string", {
register_liberationsans()
fonts <- font_set(sans = "Liberation Sans")
expect_s3_class(fonts, "font_set")
expect_identical(fonts$sans, "Liberation Sans")
expect_null(fonts$serif)
expect_null(fonts$mono)
expect_null(fonts$symbol)
expect_length(fonts$dependencies, 1L)
expect_s3_class(fonts$dependencies[[1]], "html_dependency")
expect_identical(fonts$dependencies[[1]]$name, "liberation-sans")
expect_identical(fonts$sources$sans, "system")
})
test_that("font_set() errors on nonexistent system font", {
expect_error(
font_set(sans = "nonexistent_xyz_font_abc"),
"not available"
)
})
test_that("font_set() with single liberation font", {
fonts <- font_set(sans = font_liberation("sans"))
expect_identical(fonts$sans, "Liberation Sans")
expect_null(fonts$serif)
expect_null(fonts$mono)
expect_null(fonts$symbol)
expect_length(fonts$dependencies, 1L)
expect_s3_class(fonts$dependencies[[1]], "html_dependency")
expect_identical(fonts$dsvg_fonts, list(sans = "Liberation Sans"))
})
test_that("font_set() with mixed liberation fonts", {
fonts <- font_set(
sans = font_liberation("sans"),
mono = font_liberation("mono")
)
expect_identical(fonts$sans, "Liberation Sans")
expect_null(fonts$serif)
expect_identical(fonts$mono, "Liberation Mono")
expect_length(fonts$dependencies, 2L)
expect_identical(
fonts$dsvg_fonts,
list(
sans = "Liberation Sans",
mono = "Liberation Mono"
)
)
})
test_that("font_set() with symbol role", {
register_liberationsans()
fonts <- font_set(symbol = "Liberation Sans")
expect_s3_class(fonts, "font_set")
expect_null(fonts$sans)
expect_identical(fonts$symbol, "Liberation Sans")
expect_identical(fonts$dsvg_fonts, list(symbol = "Liberation Sans"))
expect_identical(fonts$sources$symbol, "system")
expect_length(fonts$dependencies, 1L)
fonts3 <- font_set(
sans = font_liberation("sans"),
symbol = font_liberation("mono")
)
expect_identical(fonts3$sans, "Liberation Sans")
expect_identical(fonts3$symbol, "Liberation Mono")
expect_length(fonts3$dependencies, 2L)
expect_identical(
fonts3$dsvg_fonts,
list(
sans = "Liberation Sans",
symbol = "Liberation Mono"
)
)
})
test_that("print.font_set() runs without error", {
fonts <- font_set_liberation()
expect_output(print(fonts), "Font set")
expect_output(print(fonts), "Liberation Sans")
expect_output(print(fonts), "4 HTML dependencies")
})
test_that("system font generates CSS and caches files", {
register_liberationsans()
fonts <- font_set(sans = "Liberation Sans")
dep <- fonts$dependencies[[1]]
# CSS file exists
css_path <- file.path(dep$src, "css", paste0(dep$name, ".css"))
expect_true(file.exists(css_path))
css_content <- readLines(css_path)
expect_true(any(grepl("@font-face", css_content)))
expect_true(any(grepl("Liberation Sans", css_content)))
expect_true(any(grepl("font-weight: 400", css_content)))
expect_true(any(grepl("font-weight: 700", css_content)))
# font files exist
fonts_path <- file.path(dep$src, "fonts")
expect_true(dir.exists(fonts_path))
font_files <- list.files(fonts_path)
expect_true(length(font_files) >= 1L)
})
test_that("font_set() with google font", {
skip_if_not_ready()
skip_if_not(check_gfonts())
dummy_setup()
fonts <- font_set(sans = font_google("Open Sans"))
expect_s3_class(fonts, "font_set")
expect_identical(fonts$sans, "Open Sans")
expect_length(fonts$dependencies, 1L)
expect_identical(fonts$sources$sans, "google")
})
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.