UNPKG

wsemi

Version:

A support package for web developer.

77 lines (61 loc) 2.18 kB
import fs from 'fs' import assert from 'assert' import getFileName from '../src/getFileName.mjs' import fsDeleteFile from '../src/fsDeleteFile.mjs' import fsRenameFile from '../src/fsRenameFile.mjs' import fsWatchFile from '../src/fsWatchFile.mjs' describe(`fsWatchFile`, function() { let test = async () => { return new Promise((resolve, reject) => { let ms = [] let fp = './_test_fsWatchFile.txt' fsDeleteFile(fp) let ev = fsWatchFile(fp) ev.on('change', (msg) => { // console.log(msg.type, getFileName(msg.fp)) ms.push({ type: msg.type, fp: getFileName(msg.fp) }) }) setTimeout(() => { fs.writeFileSync(fp, 'abc', 'utf8') }, 1) setTimeout(() => { fsRenameFile(fp, fp + '.tmp') }, 3000) setTimeout(() => { fsRenameFile(fp + '.tmp', fp) }, 6000) setTimeout(() => { fs.writeFileSync(fp, 'def', 'utf8') }, 9000) setTimeout(() => { fsDeleteFile(fp) }, 12000) setTimeout(() => { ev.clear() // console.log('ms', ms) resolve(ms) }, 15000) }) } // await test() // .catch((err) => { // console.log(err) // }) // add _test_fsWatchFile.txt // unlink _test_fsWatchFile.txt // add _test_fsWatchFile.txt // change _test_fsWatchFile.txt // unlink _test_fsWatchFile.txt let ms = [ { type: 'add', fp: '_test_fsWatchFile.txt' }, { type: 'unlink', fp: '_test_fsWatchFile.txt' }, { type: 'add', fp: '_test_fsWatchFile.txt' }, { type: 'change', fp: '_test_fsWatchFile.txt' }, { type: 'unlink', fp: '_test_fsWatchFile.txt' } ] it(`should return '${JSON.stringify(ms)}' when run test`, async function() { let r = await test() let rr = ms assert.strict.deepStrictEqual(r, rr) }) })