mirror of
https://github.com/denoland/deno.git
synced 2024-11-26 16:09:27 -05:00
32 lines
835 B
TypeScript
32 lines
835 B
TypeScript
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());
|
|
},
|
|
});
|