24 lines
697 B
JavaScript
24 lines
697 B
JavaScript
|
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);
|
||
|
}
|
||
|
});
|