Nothing
# Auto text-font resolution: gp$fontfamily drives MicroTeX's main_font
# so layout metrics match what grid will draw.
test_that(".resolve_text_font registers the system font for a family", {
gridmicrotex:::.clear_text_font_cache()
fam <- gridmicrotex:::.resolve_text_font("sans")
# Some CI images (notably minimal Ubuntu runners) resolve fontconfig's
# "sans" alias to a font that happens to carry an OT MATH table, in
# which case MicroTeX registers it as a *math* font and .resolve_text_font
# returns "" so the caller falls back to default text metrics. Skip
# the registry check there; the invariant we care about is: if we DID
# resolve a text font, it's discoverable via main_font_families().
skip_if(!nzchar(fam), "No non-math system font resolvable for 'sans' here.")
expect_true(fam %in% microtex_main_font_families())
})
test_that("second resolve of the same family hits the in-process cache", {
gridmicrotex:::.clear_text_font_cache()
gridmicrotex:::.resolve_text_font("sans")
t <- system.time(gridmicrotex:::.resolve_text_font("sans"))["elapsed"]
expect_lt(t, 0.05)
})
test_that("unknown family falls back without erroring (systemfonts returns default)", {
expect_silent(fam <- gridmicrotex:::.resolve_text_font("TotallyNotAFontFamily123"))
# systemfonts picks a fallback; we should still end up with *some* registered family.
expect_true(is.character(fam))
})
test_that("latex_grob renders with gp$fontfamily and registers main_font", {
g1 <- latex_grob("\\text{Hello} $x^2$",
gp = grid::gpar(fontsize = 16, fontfamily = "sans"))
expect_s3_class(g1, "latexgrob")
expect_gt(g1$bbox_w, 0)
# Passing a different family should also work
g2 <- latex_grob("\\text{Hello} $x^2$",
gp = grid::gpar(fontsize = 16, fontfamily = "serif"))
expect_s3_class(g2, "latexgrob")
})
test_that("latex_dims accepts a fontfamily via gp and returns finite dims", {
d <- latex_dims("\\text{Width test}", gp = grid::gpar(fontsize = 12, fontfamily = "sans"))
expect_true(is.list(d))
expect_true(is.finite(as.numeric(d$width)))
expect_gt(as.numeric(d$width), 0)
})
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.