test_that("always returns a path",{ withr::local_envvar(TESTTHAT = "true") withr::local_options(testthat_interactive = FALSE) expect_equal(test_path(), ".") }) test_that("is vectorised", { withr::local_envvar(TESTTHAT = "true") withr::local_options(testthat_interactive = FALSE) expect_equal(test_path("x", c("a", "b")), c("x/a", "x/b")) }) test_that("uses local path when called from test_file()/tools::testInstalledPackages()", { withr::local_envvar(TESTTHAT = "true") withr::local_options(testthat_interactive = FALSE) expect_equal(test_path("path"), "path") }) test_that("returns local path during package loading", { withr::local_envvar(TESTTHAT = "false", DEVTOOLS_LOAD = "testthat") expect_equal(test_path("path"), "path") }) test_that("returns full path when called interactively", { withr::local_envvar("TESTTHAT" = "false") pkg <- withr::local_tempdir() dir.create(file.path(pkg, "tests", "testthat"), recursive = TRUE) withr::local_dir(pkg) expect_equal(test_path("path"), "tests/testthat/path") }) test_that("throws error if can't find tests/testthat", { withr::local_envvar("TESTTHAT" = "false") withr::local_dir(withr::local_tempdir()) local_edition(3) local_reproducible_output() expect_snapshot(test_path("empty"), error = TRUE) })