summaryrefslogtreecommitdiff
path: root/std/node/_fs/_fs_watch_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/node/_fs/_fs_watch_test.ts')
-rw-r--r--std/node/_fs/_fs_watch_test.ts32
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());
+ },
+});