|
|
|
@@ -1,4 +1,10 @@ |
|
|
|
# test_that() |
|
|
|
test_that("requires_xaringanthemer_env() errors if no style function called", { |
|
|
|
expect_error( |
|
|
|
with_clean_session(function() { |
|
|
|
xaringanthemer::requires_xaringanthemer_env(NULL, FALSE) |
|
|
|
}) |
|
|
|
) |
|
|
|
}) |
|
|
|
|
|
|
|
describe("theme_xaringan()", { |
|
|
|
|
|
|
|
@@ -173,3 +179,142 @@ describe("theme_xaringan_inverse()", { |
|
|
|
expect_equal(theme$plot.background$fill, "#220000") |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
describe("theme_xaringan_get_value()", { |
|
|
|
|
|
|
|
it("errors if no css file or style_xaringan theme called", { |
|
|
|
expect_error( |
|
|
|
with_clean_session(function() { |
|
|
|
xaringanthemer::theme_xaringan_get_value("text_font_family") |
|
|
|
}) |
|
|
|
) |
|
|
|
}) |
|
|
|
|
|
|
|
it("returns theme values", { |
|
|
|
theme <- with_clean_session(function() { |
|
|
|
xaringanthemer::style_xaringan( |
|
|
|
base_font_size = "33px", |
|
|
|
text_font_size = "23px", |
|
|
|
text_color = "#000001", |
|
|
|
inverse_text_color = "#100000", |
|
|
|
background_color = "#000002", |
|
|
|
inverse_background_color = "#200000", |
|
|
|
header_color = "#000003", |
|
|
|
inverse_header_color = "#300000", |
|
|
|
text_bold_color = "#000004", |
|
|
|
text_font_family = "Damogran", |
|
|
|
text_font_google = NULL, |
|
|
|
header_font_family = "Magrathea", |
|
|
|
header_font_google = NULL, |
|
|
|
outfile = NULL |
|
|
|
) |
|
|
|
list( |
|
|
|
text = xaringanthemer::theme_xaringan_get_value(c("text_font_family", "text_font_is_google", "text_color", "text_bold_color")), |
|
|
|
code_font_is_google = xaringanthemer::theme_xaringan_get_value("code_font_is_google"), |
|
|
|
inverse_text_color = xaringanthemer::theme_xaringan_get_value("inverse_text_color"), |
|
|
|
background_color = xaringanthemer::theme_xaringan_get_value("background_color"), |
|
|
|
header_color = xaringanthemer::theme_xaringan_get_value("header_color"), |
|
|
|
inverse_header_color = xaringanthemer::theme_xaringan_get_value("inverse_header_color"), |
|
|
|
base_font_size = xaringanthemer:::get_base_font_size(), |
|
|
|
accent_color = xaringanthemer:::get_theme_accent_color(), |
|
|
|
accent_color_inverse = xaringanthemer:::get_theme_accent_color(inverse = TRUE) |
|
|
|
) |
|
|
|
}) |
|
|
|
|
|
|
|
expect_equal(theme$text$text_font_family, "Damogran") |
|
|
|
expect_equal(theme$text$text_color, "#000001") |
|
|
|
expect_false(theme$text$text_font_is_google) |
|
|
|
expect_true(theme$code_font_is_google) |
|
|
|
expect_equal(theme$text$text_bold_color, "#000004") |
|
|
|
expect_equal(theme$inverse_text_color, "#100000") |
|
|
|
expect_equal(theme$background_color, "#000002") |
|
|
|
expect_equal(theme$header_color, "#000003") |
|
|
|
expect_equal(theme$inverse_header_color, "#300000") |
|
|
|
expect_equal(theme$base_font_size, 33) |
|
|
|
expect_equal(theme$accent_color, "#000003") |
|
|
|
expect_equal(theme$accent_color_inverse, "#300000") |
|
|
|
}) |
|
|
|
|
|
|
|
it("returns theme values from the css file", { |
|
|
|
expect_warning( |
|
|
|
css <- xaringanthemer::style_xaringan( |
|
|
|
base_font_size = "1em", |
|
|
|
text_color = "#000001", |
|
|
|
inverse_text_color = "#100000", |
|
|
|
background_color = "#000002", |
|
|
|
inverse_background_color = "#200000", |
|
|
|
header_color = "#000003", |
|
|
|
inverse_header_color = "#300000", |
|
|
|
text_bold_color = "#000004", |
|
|
|
text_font_family = "Damogran", |
|
|
|
text_font_google = NULL, |
|
|
|
header_font_family = "Magrathea", |
|
|
|
header_font_google = NULL, |
|
|
|
outfile = NULL |
|
|
|
) |
|
|
|
) |
|
|
|
theme <- with_clean_session(function(css) { |
|
|
|
writeLines(css, "xaringan-themer.css") |
|
|
|
list( |
|
|
|
text = xaringanthemer::theme_xaringan_get_value(c("text_font_family", "text_font_is_google", "text_color", "text_bold_color")), |
|
|
|
code_font_is_google = xaringanthemer::theme_xaringan_get_value("code_font_is_google"), |
|
|
|
inverse_text_color = xaringanthemer::theme_xaringan_get_value("inverse_text_color"), |
|
|
|
background_color = xaringanthemer::theme_xaringan_get_value("background_color"), |
|
|
|
header_color = xaringanthemer::theme_xaringan_get_value("header_color"), |
|
|
|
inverse_header_color = xaringanthemer::theme_xaringan_get_value("inverse_header_color"), |
|
|
|
base_font_size = xaringanthemer:::get_base_font_size(), |
|
|
|
accent_color = xaringanthemer:::get_theme_accent_color(), |
|
|
|
accent_color_inverse = xaringanthemer:::get_theme_accent_color(inverse = TRUE) |
|
|
|
) |
|
|
|
}, list(css = css)) |
|
|
|
|
|
|
|
expect_equal(theme$text$text_font_family, "Damogran") |
|
|
|
expect_equal(theme$text$text_color, "#000001") |
|
|
|
expect_false(theme$text$text_font_is_google) |
|
|
|
expect_true(theme$code_font_is_google) |
|
|
|
expect_equal(theme$text$text_bold_color, "#000004") |
|
|
|
expect_equal(theme$inverse_text_color, "#100000") |
|
|
|
expect_equal(theme$background_color, "#000002") |
|
|
|
expect_equal(theme$header_color, "#000003") |
|
|
|
expect_equal(theme$inverse_header_color, "#300000") |
|
|
|
expect_equal(theme$base_font_size, 16) |
|
|
|
expect_equal(theme$accent_color, "#000003") |
|
|
|
expect_equal(theme$accent_color_inverse, "#300000") |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
describe("web_to_point()", { |
|
|
|
it("is invariant when x is pt", { |
|
|
|
expect_equal(web_to_point("24pt", 11), 24) |
|
|
|
expect_equal(web_to_point("24pt", 11), 24) |
|
|
|
expect_equal(web_to_point("24pt", 11, scale = 3), 24) |
|
|
|
}) |
|
|
|
|
|
|
|
it("scales px", { |
|
|
|
expect_equal(web_to_point("24px", 10, 1), 24) |
|
|
|
expect_equal(web_to_point("24px", 10, 0.5), 12) |
|
|
|
}) |
|
|
|
|
|
|
|
it("scales r/em", { |
|
|
|
expect_equal(web_to_point("2.4em", 10, 1), 24) |
|
|
|
expect_equal(web_to_point("2.4rem", 10, 1), 24) |
|
|
|
expect_equal(web_to_point("2.4em", 10, 0.5), 12) |
|
|
|
expect_equal(web_to_point("2.4rem", 10, 0.5), 12) |
|
|
|
}) |
|
|
|
|
|
|
|
it("returns NULL if input is NULL or poorly defined", { |
|
|
|
expect_null(web_to_point(NULL)) |
|
|
|
expect_null(web_to_point("NULL", 1)) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
describe("scale_xaringan_colour_continuous()", { |
|
|
|
it("errors if no color or default available", { |
|
|
|
expect_error( |
|
|
|
with_clean_session(function() { |
|
|
|
xaringanthemer:::get_theme_accent_color() |
|
|
|
}) |
|
|
|
) |
|
|
|
}) |
|
|
|
}) |