Skip to content

Commit a95d2d7

Browse files
committed
More polishing
1 parent d1d2740 commit a95d2d7

File tree

6 files changed

+29
-33
lines changed

6 files changed

+29
-33
lines changed

R/snapshot-reporter.R

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -205,20 +205,18 @@ get_snapshotter <- function() {
205205
#' @keywords internal
206206
local_snapshotter <- function(
207207
reporter = SnapshotReporter,
208-
snap_dir = NULL,
208+
snap_dir = "_snaps",
209209
cleanup = FALSE,
210210
fail_on_new = NULL,
211-
.env = parent.frame()
211+
frame = caller_env()
212212
) {
213-
snap_dir <- snap_dir %||% withr::local_tempdir(.local_envir = .env)
214-
reporter <- reporter$new(
215-
snap_dir = snap_dir,
216-
fail_on_new = fail_on_new
217-
)
213+
reporter <- reporter$new(snap_dir = snap_dir, fail_on_new = fail_on_new)
214+
withr::local_options("testthat.snapshotter" = reporter, .local_envir = frame)
218215

219-
withr::local_options(
220-
"testthat.snapshotter" = reporter,
221-
.local_envir = .env
222-
)
223216
reporter
224217
}
218+
219+
local_test_snapshotter <- function(snap_dir = NULL, frame = caller_env()) {
220+
snap_dir <- snap_dir %||% withr::local_tempdir(.local_envir = frame)
221+
local_snapshotter(snap_dir = snap_dir, fail_on_new = FALSE, frame = frame)
222+
}

R/test-files.R

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -318,25 +318,23 @@ test_files_setup_state <- function(
318318
test_files_reporter <- function(
319319
reporter,
320320
mode = c("serial", "parallel"),
321-
.env = parent.frame()
321+
frame = caller_env()
322322
) {
323+
mode <- arg_match(mode)
324+
323325
# User selected reporter
324326
user <- find_reporter(reporter)
325327

326-
# Track all
328+
# Reporter that collect test results
327329
lister <- ListReporter$new()
328330

329-
snap_base <- if (mode == "parallel") {
330-
MainprocessSnapshotReporter
331+
# Snapshot reporter
332+
if (mode == "parallel") {
333+
snap_base <- MainprocessSnapshotReporter
331334
} else {
332-
SnapshotReporter
335+
snap_base <- SnapshotReporter
333336
}
334-
snap <- local_snapshotter(
335-
snap_base,
336-
snap_dir = "_snaps",
337-
fail_on_new = on_ci(),
338-
.env = .env
339-
)
337+
snap <- local_snapshotter(snap_base, fail_on_new = on_ci(), frame = frame)
340338

341339
reporters <- compact(list(user, lister, snap))
342340
list(

man/local_snapshotter.Rd

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/testthat/test-snapshot-file.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ test_that("expect_snapshot_file finds duplicate snapshot files", {
5050
})
5151

5252
test_that("basic workflow", {
53-
snapper <- local_snapshotter(fail_on_new = FALSE)
53+
snapper <- local_test_snapshotter()
5454

5555
path <- write_tmp_lines(letters)
5656
# warns on first run
@@ -71,7 +71,7 @@ test_that("basic workflow", {
7171
})
7272

7373
test_that("can announce snapshot file", {
74-
snapper <- local_snapshotter(fail_on_new = FALSE)
74+
snapper <- local_test_snapshotter()
7575
snapper$start_file("snapshot-announce", "test")
7676
announce_snapshot_file(name = "bar.svg")
7777
expect_equal(snapper$snap_file_seen, "snapshot-announce/bar.svg")

tests/testthat/test-snapshot-reporter.R

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
test_that("can establish local snapshotter for testing", {
2-
snapper <- local_snapshotter(fail_on_new = FALSE)
2+
snapper <- local_test_snapshotter()
33

44
snapper$start_file("snapshot-1", "test")
55
expect_true(snapper$is_active())
@@ -9,7 +9,7 @@ test_that("can establish local snapshotter for testing", {
99

1010
test_that("basic workflow", {
1111
path <- withr::local_tempdir()
12-
snapper <- local_snapshotter(snap_dir = path, fail_on_new = FALSE)
12+
snapper <- local_test_snapshotter(snap_dir = path)
1313
snapper$start_file("snapshot-2")
1414
# output if not active (because test not set here)
1515
expect_snapshot_output("x") |>
@@ -50,7 +50,7 @@ test_that("defaults to failing on CI", {
5050
})
5151

5252
test_that("only create new files for changed variants", {
53-
snapper <- local_snapshotter(fail_on_new = FALSE)
53+
snapper <- local_test_snapshotter()
5454
snapper$start_file("variants", "test")
5555
expect_warning(expect_snapshot_output("x"), "Adding new")
5656
expect_warning(expect_snapshot_output("x", variant = "a"), "Adding new")
@@ -86,7 +86,7 @@ test_that("only create new files for changed variants", {
8686
})
8787

8888
test_that("only reverting change in variant deletes .new", {
89-
snapper <- local_snapshotter(fail_on_new = FALSE)
89+
snapper <- local_test_snapshotter()
9090
snapper$start_file("v", "test")
9191
expect_warning(expect_snapshot_output("x", variant = "a"), "Adding new")
9292
expect_warning(expect_snapshot_output("x", variant = "b"), "Adding new")
@@ -109,7 +109,7 @@ test_that("only reverting change in variant deletes .new", {
109109

110110
test_that("removing tests removes snap file", {
111111
path <- withr::local_tempdir()
112-
snapper <- local_snapshotter(snap_dir = path, fail_on_new = FALSE)
112+
snapper <- local_test_snapshotter(snap_dir = path)
113113
snapper$start_file("snapshot-3", "test")
114114
expect_warning(expect_snapshot_output("x"), "Adding new")
115115
snapper$end_file()
@@ -121,7 +121,7 @@ test_that("removing tests removes snap file", {
121121
})
122122

123123
test_that("errors in test doesn't change snapshot", {
124-
snapper <- local_snapshotter(fail_on_new = FALSE)
124+
snapper <- local_test_snapshotter()
125125

126126
# First run
127127
snapper$start_file("snapshot-5", "test")

tests/testthat/test-snapshot-value.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ test_that("reparse handles common cases", {
3232
})
3333

3434
test_that("errors if can't roundtrip", {
35-
snapper <- local_snapshotter(fail_on_new = FALSE)
35+
snapper <- local_test_snapshotter()
3636
snapper$start_file("snapshot-4", "test")
3737

3838
expect_error(expect_snapshot_value(NULL), "safely serialized")

0 commit comments

Comments
 (0)