UNPKG

pen

Version:

A better Markdown previewer

74 lines (66 loc) 1.75 kB
import assert from "assert"; import fs from "fs"; import helper from "./lib/helper"; import Watcher from "../src/watcher"; describe("Watcher", () => { let watcher; beforeEach(() => { helper.createFile("test테스트テスト.txt", "hello"); }); afterEach(() => { watcher.stop(); helper.clean(); }); it("reads a file", done => { watcher = new Watcher(helper.path("test테스트テスト.txt")); watcher .onData(data => { assert.equal(data.toString(), "hello"); done(); }) .onError(done); }); it("cannot read a wrong file", done => { let watcher = new Watcher(helper.path("watcher-wrong-temp")); watcher .onData(() => { done("there shouldn't be a file!"); }) .onError(error => { assert.equal(error.code, "ENOENT"); done(); }); }); it("send the data again when the file is updated", done => { const callback = err => { if (err) { done(err); } }; let called = 0; watcher = new Watcher(helper.path("test테스트テスト.txt")); watcher .onData(data => { switch (called) { case 0: assert.equal(data.toString(), "hello"); fs.writeFile( helper.path("test테스트テスト.txt"), "world", callback ); break; case 1: assert.equal(data.toString(), "world"); fs.writeFile(helper.path("test테스트テスト.txt"), "pen!", callback); break; case 2: assert.equal(data.toString(), "pen!"); done(); break; } called += 1; }) .onError(done); }); });