diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/js/node/watch/fixtures/relative.js | 39 | ||||
| -rw-r--r-- | test/js/node/watch/fs.watch.test.ts | 9 |
2 files changed, 29 insertions, 19 deletions
diff --git a/test/js/node/watch/fixtures/relative.js b/test/js/node/watch/fixtures/relative.js index 26e09da1a..692d809ec 100644 --- a/test/js/node/watch/fixtures/relative.js +++ b/test/js/node/watch/fixtures/relative.js @@ -1,23 +1,28 @@ import fs from "fs"; -const watcher = fs.watch("relative.txt", { signal: AbortSignal.timeout(2000) }); +try { + const watcher = fs.watch("relative.txt", { signal: AbortSignal.timeout(2000) }); -watcher.on("change", function (event, filename) { - if (filename !== "relative.txt" && event !== "change") { - console.error("fail"); + watcher.on("change", function (event, filename) { + if (filename !== "relative.txt" && event !== "change") { + console.error("fail"); + clearInterval(interval); + watcher.close(); + process.exit(1); + } else { + clearInterval(interval); + watcher.close(); + } + }); + watcher.on("error", err => { clearInterval(interval); - watcher.close(); + console.error(err.message); process.exit(1); - } else { - clearInterval(interval); - watcher.close(); - } -}); -watcher.on("error", err => { - clearInterval(interval); + }); + + const interval = setInterval(() => { + fs.writeFileSync("relative.txt", "world"); + }, 10); +} catch (err) { console.error(err.message); process.exit(1); -}); - -const interval = setInterval(() => { - fs.writeFileSync("relative.txt", "world"); -}, 10); +} diff --git a/test/js/node/watch/fs.watch.test.ts b/test/js/node/watch/fs.watch.test.ts index aa7959bed..d228e5a22 100644 --- a/test/js/node/watch/fs.watch.test.ts +++ b/test/js/node/watch/fs.watch.test.ts @@ -189,7 +189,7 @@ describe("fs.watch", () => { const interval = repeat(() => { fs.writeFileSync(filepath, "world"); }); - }); + }, 10000); test("should error on invalid path", done => { try { @@ -248,7 +248,7 @@ describe("fs.watch", () => { clearInterval(interval); watchers.forEach(watcher => watcher.close()); } - }); + }, 10000); test("should work with url", done => { const filepath = path.join(testDir, "url.txt"); @@ -373,6 +373,11 @@ describe("fs.watch", () => { }); expect(promise).resolves.toBe("change"); }); + + test("immediately closing works correctly", async () => { + for (let i = 0; i < 100; i++) fs.watch(testDir, { persistent: true }).close(); + for (let i = 0; i < 100; i++) fs.watch(testDir, { persistent: false }).close(); + }); }); describe("fs.promises.watch", () => { |
