tests/testthat/test-rect.R

render_rect <- function(fill, colour, linewidth, linetype) {
  dev <- agg_capture()
  grid::grid.rect(
    width = 0.8,
    height = 0.8,
    gp = grid::gpar(fill = fill, col = colour, lwd = linewidth, lty = linetype)
  )
  out <- dev()
  dev.off()
  out
}

test_that("rect stroke works", {
  rect <- table(render_rect(NA, 'black', 4, 'solid'))
  expect_equal(rect[['white']], 224256)
  expect_equal(rect[['black']], 3072)

  rect <- table(render_rect(NA, 'black', 4, 'dotdash'))
  expect_equal(rect[['black']], 1771)

  rect <- table(render_rect(NA, 'blue', 4, 'solid'))
  expect_equal(rect[['blue']], 3072)

  rect <- table(render_rect(NA, '#DE2D7633', 4, 'solid'))
  expect_equal(rect[['#F8D5E4']], 3072)
})

test_that("rect fill works", {
  rect <- table(render_rect('black', NA, 4, 'solid'))
  expect_equal(rect[['white']], 82944)
  expect_equal(rect[['black']], 147456)

  rect <- table(render_rect('blue', NA, 4, 'solid'))
  expect_equal(rect[['blue']], 147456)

  rect <- table(render_rect('#DE2D7633', NA, 4, 'solid'))
  expect_equal(rect[['#F8D5E4']], 147456)
})

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.