setup-python/node_modules/@cnakazawa/watch/test/test_watchTree.js

24 lines
697 B
JavaScript
Raw Normal View History

2019-06-27 09:12:00 +08:00
var fs = require('fs')
, watch = require('../main')
, assert = require('assert')
;
//
// Demonstrate that the function of 'filter' is semantically inconsistent with
// usual convention, that returning true means 'keep this'.
//
function isDirOrQ(f, stat) { return stat.isDirectory() || f === 'Q'; }
watch.watchTree(__dirname, { filter: isDirOrQ }, function (f, curr, prev) {
if (typeof f == 'object' && prev === null && curr === null) {
Object.keys(f).forEach(function(name) {
var stat = f[name];
assert(isDirOrQ(name, stat));
});
// If the process never exits then `unwatchTree` failed to unwatch all
// the files.
watch.unwatchTree(__dirname);
}
});