diff --git a/tests/testthat/test-local_here.R b/tests/testthat/test-local_here.R index 75aae81..20f73e4 100644 --- a/tests/testthat/test-local_here.R +++ b/tests/testthat/test-local_here.R @@ -42,3 +42,26 @@ test_that("local_here works", { expect_pathequal(here(), here_was) }) + +test_that("working directory doesn't change", { + + # go to a tempdir + local_dir(local_tempdir()) + + here_was <- here() + wd_was <- getwd() + + local({ + + d <- local_tempdir() + local_here(d) + + # here is now d + expect_pathequal(d, here()) + + }) + + expect_pathequal(here_was, here()) + expect_pathequal(getwd(), wd_was) + +}) diff --git a/tests/testthat/test-with_here.R b/tests/testthat/test-with_here.R index 4f2b66e..751eafb 100644 --- a/tests/testthat/test-with_here.R +++ b/tests/testthat/test-with_here.R @@ -16,3 +16,22 @@ test_that("with_here works", { expect_pathequal(with_here(d, getwd(), chdir = TRUE), d) }) + +test_that("working directory doesn't change", { + + # go to a tempdir + local_dir(local_tempdir()) + + here_was <- here() + wd_was <- getwd() + + + d <- local_tempdir() + now <- with_here(d, here()) + + expect_pathequal(d, now) + + expect_pathequal(here_was, here()) + expect_pathequal(getwd(), wd_was) + +})