Преглед изворни кода

Throw an error if c(font_string, google_font())

Closes #19
tags/v0.3.0
Garrick Aden-Buie пре 6 година
родитељ
комит
4d421ae106
2 измењених фајлова са 23 додато и 1 уклоњено
  1. +10
    -0
      R/style_extra_css.R
  2. +13
    -1
      tests/testthat/test-write_extra_css.R

+ 10
- 0
R/style_extra_css.R Прегледај датотеку

@@ -103,6 +103,16 @@ list2css <- function(css) {
}

list2fonts <- function(fonts) {
if (
length(setdiff(names(google_font('fam')), names(fonts))) == 0 &&
!inherits(fonts, "google_font")
) {
# concatenating a string and a google_font() provides a wacky list
stop(
"Multiple fonts in `extra_fonts` must be specified inside a `list()`.",
call. = FALSE
)
}
if (inherits(fonts, "google_font")) {
fonts <- list(fonts)
}

+ 13
- 1
tests/testthat/test-write_extra_css.R Прегледај датотеку

@@ -6,11 +6,12 @@ describe("list2fonts()", {
lato_url <- "https://fonts.googleapis.com/css?family=Lato"
worksans_url <- "https://fonts.googleapis.com/css?family=Work+Sans"

it("handles a list of font names", {
it("handles a list or c() of font urls", {
expect_equal(
list2fonts(list(lato_url, worksans_url)),
import(c(lato_url, worksans_url))
)
expect_equal(list2fonts(c(lato_url, lato_url)), rep(import(lato_url), 2))
})

it("handles single character font name", {
@@ -37,4 +38,15 @@ describe("list2fonts()", {
import(lato_url)
)
})

it("throws an error when c() used to combine string and google_font()", {
expect_error(
list2fonts(c(lato_url, google_font("Lato"), google_font("Work Sans"))),
"Multiple fonts"
)
expect_error(
list2fonts(c(google_font("Lato"), google_font("Work Sans"))),
"Multiple fonts"
)
})
})

Loading…
Откажи
Сачувај