Parameters

Initialize temporary folders in the working directory

tmp_01 <- util_make_subdir()
tmp_02 <- util_make_subdir()

Copy files from extdata to temporary folder

extdata <- system.file(
  "extdata",
  "tests",
  package = "jeksterslabRutils",
  mustWork = TRUE
)
file_from <- file.path(
  extdata,
  "z_roxygen.R"
)
file <- file.path(
  tmp_01,
  "z_roxygen.R"
)
epub_from <- file.path(
  extdata,
  "valid.epub"
)
epub <- file.path(
  tmp_01,
  "valid.epub"
)
output <- file.path(
  tmp_01,
  "z_roxygen.Rmd"
)
file.copy(
  from = c(
    file_from,
    epub_from
  ),
  to = c(
    file,
    epub
  )
)
#> [1] TRUE TRUE

Check if output html is produced (dir)

test_that("dir", {
  if (file.exists(output)) {
    unlink(output)
  }
  util_spin(
    dir = tmp_01,
    par = FALSE
  )
  expect_true(
    file.exists(output)
  )
})
#> Test passed 🎊

Check if output html is produced (files)

test_that("files", {
  if (file.exists(output)) {
    unlink(output)
  }
  util_spin(
    files = file,
    par = FALSE
  )
  expect_true(
    file.exists(output)
  )
})
#> Test passed 🥳
message <- "No files to spin"

Length of files == 0

test_that("character(0)", {
  expect_message(
    util_spin(
      files = character(0),
      par = FALSE
    ),
    regexp = message
  )
})
#> Test passed 🌈

Non existent file

test_that("non-existent-file", {
  expect_message(
    util_spin(
      files = "non-existent-file",
      par = FALSE
    ),
    regexp = message
  )
})
#> Test passed 🥇

Invalid file

test_that("expect_warning", {
  expect_warning(
    util_spin(
      files = epub,
      par = FALSE
    ),
    regexp = "Error spinning"
  )
})
#> Test passed 🎊

No R or R Markdown files in dir.

test_that("expect_message", {
  expect_message(
    util_spin(
      dir = tmp_02,
      par = FALSE
    ),
    regexp = message
  )
})
#> Test passed 🥇

Clean up temporary files and folders

util_clean_dir(
  dir = tmp_01,
  create_dir = FALSE
)
util_clean_dir(
  dir = tmp_02,
  create_dir = FALSE
)