From 5f36bbe96f6db300ddfa140741032e29e31ba05f Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Thu, 24 Jul 2025 21:50:04 +0200 Subject: [PATCH 1/5] Add tests for snapshots with different extensions. --- tests/testthat/_snaps/snapshot-manage.md | 17 +++++++++++++++++ tests/testthat/test-snapshot-manage.R | 9 +++++++++ 2 files changed, 26 insertions(+) diff --git a/tests/testthat/_snaps/snapshot-manage.md b/tests/testthat/_snaps/snapshot-manage.md index 1a76f78af..81711a1a9 100644 --- a/tests/testthat/_snaps/snapshot-manage.md +++ b/tests/testthat/_snaps/snapshot-manage.md @@ -38,6 +38,23 @@ Updating snapshots: * test/a.txt +--- + + Code + snapshot_accept("a", path = path) + Message + Updating snapshots: + * a.md + +--- + + Code + snapshot_accept("test/", path = path) + Message + Updating snapshots: + * test/a.md + * test/b.txt + # can work with variants Code diff --git a/tests/testthat/test-snapshot-manage.R b/tests/testthat/test-snapshot-manage.R index 4c7930642..82aa87da6 100644 --- a/tests/testthat/test-snapshot-manage.R +++ b/tests/testthat/test-snapshot-manage.R @@ -21,6 +21,15 @@ test_that("can accept specific files", { expect_snapshot(snapshot_accept("test/", path = path)) expect_equal(dir(file.path(path, "_snaps"), recursive = TRUE), "test/a.txt") + # snapshot files with different extensions + path <- local_snapshot_dir(c("a.md", "a.new.md", "b.txt", "b.new.txt")) + expect_snapshot(snapshot_accept("a", path = path)) + expect_equal(dir(file.path(path, "_snaps")), c("a.md", "b.new.txt", "b.txt")) + + path <- local_snapshot_dir(c("test/a.md", "test/a.new.md", + "test/b.txt", "test/b.new.txt")) + expect_snapshot(snapshot_accept("test/", path = path)) + expect_equal(dir(file.path(path, "_snaps"), recursive = TRUE), c("test/a.md", "test/b.txt")) }) test_that("can work with variants", { From 65314c260984abf631a7fecc439e14ffd73a6680 Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Thu, 24 Jul 2025 22:02:54 +0200 Subject: [PATCH 2/5] Add another test. --- tests/testthat/_snaps/snapshot-manage.md | 8 ++++++++ tests/testthat/test-snapshot-manage.R | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/tests/testthat/_snaps/snapshot-manage.md b/tests/testthat/_snaps/snapshot-manage.md index 81711a1a9..9602f057a 100644 --- a/tests/testthat/_snaps/snapshot-manage.md +++ b/tests/testthat/_snaps/snapshot-manage.md @@ -46,6 +46,14 @@ Updating snapshots: * a.md +--- + + Code + snapshot_accept("b.txt", path = path) + Message + Updating snapshots: + * b.txt + --- Code diff --git a/tests/testthat/test-snapshot-manage.R b/tests/testthat/test-snapshot-manage.R index 82aa87da6..f6f67065d 100644 --- a/tests/testthat/test-snapshot-manage.R +++ b/tests/testthat/test-snapshot-manage.R @@ -26,6 +26,10 @@ test_that("can accept specific files", { expect_snapshot(snapshot_accept("a", path = path)) expect_equal(dir(file.path(path, "_snaps")), c("a.md", "b.new.txt", "b.txt")) + path <- local_snapshot_dir(c("a.md", "a.new.md", "b.txt", "b.new.txt")) + expect_snapshot(snapshot_accept("b.txt", path = path)) + expect_equal(dir(file.path(path, "_snaps")), c("a.md", "a.new.md", "b.txt")) + path <- local_snapshot_dir(c("test/a.md", "test/a.new.md", "test/b.txt", "test/b.new.txt")) expect_snapshot(snapshot_accept("test/", path = path)) From 3077008344f10e9719f135e215a28c7ab3c5d592 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 8 Aug 2025 14:59:38 -0400 Subject: [PATCH 3/5] Update snapshots --- tests/testthat/_snaps/snapshot-manage.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/tests/testthat/_snaps/snapshot-manage.md b/tests/testthat/_snaps/snapshot-manage.md index 886e1da7f..6cf038fb6 100644 --- a/tests/testthat/_snaps/snapshot-manage.md +++ b/tests/testthat/_snaps/snapshot-manage.md @@ -38,25 +38,21 @@ Code snapshot_accept("a", path = path) Message - Updating snapshots: - * a.md + Updating snapshots: 'a.md'. --- Code snapshot_accept("b.txt", path = path) Message - Updating snapshots: - * b.txt + Updating snapshots: 'b.txt'. --- Code snapshot_accept("test/", path = path) Message - Updating snapshots: - * test/a.md - * test/b.txt + Updating snapshots: 'test/a.md' and 'test/b.txt'. # can work with variants From 1a8c869fe61a323b8b0104131fc3623d121d45f2 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 8 Aug 2025 15:00:11 -0400 Subject: [PATCH 4/5] Re-style --- tests/testthat/test-snapshot-manage.R | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/testthat/test-snapshot-manage.R b/tests/testthat/test-snapshot-manage.R index 571633da3..dec7c0076 100644 --- a/tests/testthat/test-snapshot-manage.R +++ b/tests/testthat/test-snapshot-manage.R @@ -30,10 +30,17 @@ test_that("can accept specific files", { expect_snapshot(snapshot_accept("b.txt", path = path)) expect_equal(dir(file.path(path, "_snaps")), c("a.md", "a.new.md", "b.txt")) - path <- local_snapshot_dir(c("test/a.md", "test/a.new.md", - "test/b.txt", "test/b.new.txt")) + path <- local_snapshot_dir(c( + "test/a.md", + "test/a.new.md", + "test/b.txt", + "test/b.new.txt" + )) expect_snapshot(snapshot_accept("test/", path = path)) - expect_equal(dir(file.path(path, "_snaps"), recursive = TRUE), c("test/a.md", "test/b.txt")) + expect_equal( + dir(file.path(path, "_snaps"), recursive = TRUE), + c("test/a.md", "test/b.txt") + ) }) test_that("can work with variants", { From 7a99e3b7082c2162c0046cfcb01fcdd75f5db00d Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 8 Aug 2025 15:09:01 -0400 Subject: [PATCH 5/5] Polish tests --- tests/testthat/_snaps/snapshot-manage.md | 46 +--------------------- tests/testthat/test-snapshot-manage.R | 50 ++++++++++++++++-------- 2 files changed, 35 insertions(+), 61 deletions(-) diff --git a/tests/testthat/_snaps/snapshot-manage.md b/tests/testthat/_snaps/snapshot-manage.md index 6cf038fb6..981c599ed 100644 --- a/tests/testthat/_snaps/snapshot-manage.md +++ b/tests/testthat/_snaps/snapshot-manage.md @@ -3,57 +3,15 @@ Code snapshot_accept(path = path) Message - Updating snapshots: 'a.md' and 'b.md'. + Updating snapshots: 'a.md' and 'test/b.txt'. ---- +# useful mesasge if no files to accept Code snapshot_accept(path = path) Message No snapshots to update. -# can accept specific files - - Code - snapshot_accept("a", path = path) - Message - Updating snapshots: 'a.md'. - ---- - - Code - snapshot_accept("test/a.txt", path = path) - Message - Updating snapshots: 'test/a.txt'. - ---- - - Code - snapshot_accept("test/", path = path) - Message - Updating snapshots: 'test/a.txt'. - ---- - - Code - snapshot_accept("a", path = path) - Message - Updating snapshots: 'a.md'. - ---- - - Code - snapshot_accept("b.txt", path = path) - Message - Updating snapshots: 'b.txt'. - ---- - - Code - snapshot_accept("test/", path = path) - Message - Updating snapshots: 'test/a.md' and 'test/b.txt'. - # can work with variants Code diff --git a/tests/testthat/test-snapshot-manage.R b/tests/testthat/test-snapshot-manage.R index dec7c0076..90849dde9 100644 --- a/tests/testthat/test-snapshot-manage.R +++ b/tests/testthat/test-snapshot-manage.R @@ -1,42 +1,58 @@ test_that("informs about files being accepted", { - path <- local_snapshot_dir(c("a.md", "a.new.md", "b.md", "b.new.md")) + path <- local_snapshot_dir(c( + "a.md", + "a.new.md", + "test/b.txt", + "test/b.new.txt" + )) expect_snapshot(snapshot_accept(path = path)) - expect_equal(dir(file.path(path, "_snaps")), c("a.md", "b.md")) + expect_equal( + dir(file.path(path, "_snaps"), recursive = TRUE), + c("a.md", "test/b.txt") + ) +}) +test_that("useful mesasge if no files to accept", { + path <- local_snapshot_dir(character()) expect_snapshot(snapshot_accept(path = path)) }) -test_that("can accept specific files", { +test_that("can accept files created by expect_snapshot()", { + # without extension path <- local_snapshot_dir(c("a.md", "a.new.md", "b.md", "b.new.md")) - expect_snapshot(snapshot_accept("a", path = path)) + suppressMessages(snapshot_accept("a", path = path)) expect_equal(dir(file.path(path, "_snaps")), c("a.md", "b.md", "b.new.md")) - path <- local_snapshot_dir(c("test/a.txt", "test/a.new.txt")) - expect_snapshot(snapshot_accept("test/a.txt", path = path)) - expect_equal(dir(file.path(path, "_snaps"), recursive = TRUE), "test/a.txt") + # with extension + path <- local_snapshot_dir(c("a.md", "a.new.md", "b.md", "b.new.md")) + suppressMessages(snapshot_accept("a.md", path = path)) + expect_equal(dir(file.path(path, "_snaps")), c("a.md", "b.md", "b.new.md")) # or whole directory + path <- local_snapshot_dir(c("a.md", "a.new.md", "b.md", "b.new.md")) + suppressMessages(snapshot_accept(path = path)) + expect_equal(dir(file.path(path, "_snaps")), c("a.md", "b.md")) +}) + +test_that("can accept files created by expect_snapshot_file()", { path <- local_snapshot_dir(c("test/a.txt", "test/a.new.txt")) - expect_snapshot(snapshot_accept("test/", path = path)) + suppressMessages(snapshot_accept("test/a.txt", path = path)) expect_equal(dir(file.path(path, "_snaps"), recursive = TRUE), "test/a.txt") - # snapshot files with different extensions - path <- local_snapshot_dir(c("a.md", "a.new.md", "b.txt", "b.new.txt")) - expect_snapshot(snapshot_accept("a", path = path)) - expect_equal(dir(file.path(path, "_snaps")), c("a.md", "b.new.txt", "b.txt")) - - path <- local_snapshot_dir(c("a.md", "a.new.md", "b.txt", "b.new.txt")) - expect_snapshot(snapshot_accept("b.txt", path = path)) - expect_equal(dir(file.path(path, "_snaps")), c("a.md", "a.new.md", "b.txt")) + # including markdown files + path <- local_snapshot_dir(c("test/a.md", "test/a.new.md")) + suppressMessages(snapshot_accept("test/", path = path)) + expect_equal(dir(file.path(path, "_snaps"), recursive = TRUE), "test/a.md") + # or the whole directory path <- local_snapshot_dir(c( "test/a.md", "test/a.new.md", "test/b.txt", "test/b.new.txt" )) - expect_snapshot(snapshot_accept("test/", path = path)) + suppressMessages(snapshot_accept("test/", path = path)) expect_equal( dir(file.path(path, "_snaps"), recursive = TRUE), c("test/a.md", "test/b.txt")