summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorMarvin Hagemeister <marvin@deno.com>2024-08-07 18:15:57 +0200
committerGitHub <noreply@github.com>2024-08-07 18:15:57 +0200
commit9d6da1036d80a29862f6bdfb51e6f51eee235c35 (patch)
tree4797a9b4e31337ae171f6c6de83c6db2d15da976 /tests/unit
parent59c9bd08000b72e01b1a4506edc9954183e886a0 (diff)
fix: `rename` watch event missing (#24893)
This PR ensures that we forward a `rename` event in our file watcher. The rust lib we use combines that with the `modify` event. This fixes a compatibility issue with Node too, which sends the `rename` event as well. Fixes https://github.com/denoland/deno/issues/24880
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/fs_events_test.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/unit/fs_events_test.ts b/tests/unit/fs_events_test.ts
index 4f7cdc4d5..3a867f07e 100644
--- a/tests/unit/fs_events_test.ts
+++ b/tests/unit/fs_events_test.ts
@@ -70,6 +70,26 @@ Deno.test(
},
);
+Deno.test(
+ { permissions: { read: true, write: true } },
+ async function watchFsRename() {
+ const testDir = await makeTempDir();
+ const watcher = Deno.watchFs(testDir);
+ async function waitForRename() {
+ for await (const event of watcher) {
+ if (event.kind === "rename") {
+ break;
+ }
+ }
+ }
+ const eventPromise = waitForRename();
+ const file = testDir + "/file.txt";
+ await Deno.writeTextFile(file, "hello");
+ await Deno.rename(file, testDir + "/file2.txt");
+ await eventPromise;
+ },
+);
+
// TODO(kt3k): This test is for the backward compatibility of `.return` method.
// This should be removed at 2.0
Deno.test(