tests/testthat/helper-style.R

style_attr <- function(nodes, attr) {
  style <- xml2::xml_attr(nodes, "style")
  ifelse(
    grepl(sprintf("%s: [^;]*;", attr), style),
    gsub(sprintf(".*%s: ([^;]*);.*", attr), "\\1", style),
    NA_character_
  )
}

dash_array <- function(...) {
  x <- xmlSVG(mini_plot(1:3, ..., type = "l"))
  dash <- style_attr(xml2::xml_find_first(x, "//polyline"), "stroke-dasharray")
  as.numeric(strsplit(dash, ",")[[1]])
}
hadley/svglite documentation built on Jan. 10, 2024, 2:30 p.m.