blob: 028b344fce16f09d08d25f1705ffbfe0fc007f5a [file] [log] [blame]
'use strict';
var gaze = require('../lib/gaze.js');
var path = require('path');
var fs = require('fs');
// Node v0.6 compat
fs.existsSync = fs.existsSync || path.existsSync;
// Clean up helper to call in setUp and tearDown
function cleanUp(done) {
[
'sub/rename.js',
'sub/renamed.js'
].forEach(function(d) {
var p = path.resolve(__dirname, 'fixtures', d);
if (fs.existsSync(p)) { fs.unlinkSync(p); }
});
done();
}
exports.watch = {
setUp: function(done) {
process.chdir(path.resolve(__dirname, 'fixtures'));
cleanUp(done);
},
tearDown: cleanUp,
rename: function(test) {
test.expect(2);
var oldPath = path.join(__dirname, 'fixtures', 'sub', 'rename.js');
var newPath = path.join(__dirname, 'fixtures', 'sub', 'renamed.js');
fs.writeFileSync(oldPath, 'var rename = true;');
gaze('**/*', function(err, watcher) {
watcher.on('renamed', function(newFile, oldFile) {
test.equal(newFile, newPath);
test.equal(oldFile, oldPath);
watcher.close();
test.done();
});
fs.renameSync(oldPath, newPath);
});
}
};