diff options
Diffstat (limited to 'std/node/_fs/_fs_watch_test.ts')
-rw-r--r-- | std/node/_fs/_fs_watch_test.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/std/node/_fs/_fs_watch_test.ts b/std/node/_fs/_fs_watch_test.ts new file mode 100644 index 000000000..e85b4c9bc --- /dev/null +++ b/std/node/_fs/_fs_watch_test.ts @@ -0,0 +1,32 @@ +import { watch } from "./_fs_watch.ts"; +import { assertEquals, fail } from "../../testing/asserts.ts"; + +function wait(time: number) { + return new Promise((resolve) => { + setTimeout(resolve, time); + }); +} + +Deno.test({ + name: "watching a file", + async fn() { + const file = Deno.makeTempFileSync(); + const result: Array<[string, string]> = []; + await new Promise((resolve) => { + const watcher = watch( + file, + (eventType, filename) => result.push([eventType, filename]), + ); + wait(100) + .then(() => Deno.writeTextFileSync(file, "something")) + .then(() => wait(100)) + .then(() => watcher.close()) + .then(() => wait(100)) + .then(resolve); + }) + .then(() => { + assertEquals(result.length >= 1, true); + }) + .catch(() => fail()); + }, +}); |