tests/testthat/test-polyline.R

render_polyline <- function(colour, linewidth, linetype, lineend, linejoin) {
  dev <- agg_capture()
  grid::grid.lines(
    x = c(0.1, 0.4, 0.8, 0.5, 0.9),
    y = c(0.9, 0.7, 0.1, 0.3, 0.8),
    gp = grid::gpar(
      col = colour,
      lwd = linewidth,
      lty = linetype,
      linewidth = linewidth,
      lineend = lineend
    )
  )
  out <- dev()
  dev.off()
  out
}

test_that("polyline stroke works", {
  polyline <- table(render_polyline('black', 14, 'solid', 'round', 'round'))
  expect_equal(polyline[['white']], 218850)
  expect_equal(polyline[['black']], 9298)

  polyline <- table(render_polyline('black', 14, 'dotdash', 'round', 'round'))
  expect_equal(polyline[['black']], 5497)

  polyline <- table(render_polyline('black', 14, 'solid', 'butt', 'round'))
  expect_equal(polyline[['black']], 9219)

  polyline <- table(render_polyline('black', 14, 'solid', 'round', 'bevel'))
  expect_equal(polyline[['black']], 9298)

  polyline <- table(render_polyline('blue', 14, 'solid', 'round', 'round'))
  expect_equal(polyline[['blue']], 9298)

  polyline <- table(render_polyline('#DE2D7633', 14, 'solid', 'round', 'round'))
  expect_equal(polyline[['#F8D5E4']], 9298)
})

Try the ragg package in your browser

Any scripts or data that you put into this service are public.

ragg documentation built on Sept. 2, 2025, 9:09 a.m.