tests/testthat/test-tabscale-noninteractive-viewer.R

test_that("tabscale does not launch a viewer in non-interactive sessions", {
  set.seed(20260822)
  d <- data.frame(
    q1 = sample(1:5, 80, TRUE),
    q2 = sample(1:5, 80, TRUE),
    q3 = sample(1:5, 80, TRUE)
  )

  viewer_called <- FALSE
  old_viewer <- getOption("viewer")
  on.exit(options(viewer = old_viewer), add = TRUE)
  options(viewer = function(...) viewer_called <<- TRUE)

  out <- tabscale(
    d,
    vars = vars(q1, q2, q3),
    range = c(1, 5),
    plot = FALSE,
    show = TRUE
  )

  expect_s3_class(out, "r4vn_tabscale")
  if (!interactive()) expect_false(viewer_called)
})

Try the R4VN package in your browser

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

R4VN documentation built on Sept. 30, 2026, 5:13 p.m.