You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
4.3 KiB
113 lines
4.3 KiB
'use strict';
|
|
|
|
var grunt = require('grunt');
|
|
var path = require('path');
|
|
var fs = require('fs');
|
|
var helper = require('./helper');
|
|
|
|
var fixtures = helper.fixtures;
|
|
|
|
function cleanUp() {
|
|
helper.cleanUp([
|
|
'events/node_modules',
|
|
'events/lib/added.js'
|
|
]);
|
|
}
|
|
|
|
function writeAll(cwd) {
|
|
var write = 'var one = true;';
|
|
grunt.file.write(path.join(cwd, 'lib', 'added.js'), write);
|
|
setTimeout(function() {
|
|
grunt.file.write(path.join(cwd, 'lib', 'one.js'), write);
|
|
}, 300);
|
|
setTimeout(function() {
|
|
grunt.file.delete(path.join(cwd, 'lib', 'added.js'));
|
|
}, 300);
|
|
}
|
|
|
|
exports.events = {
|
|
setUp: function(done) {
|
|
cleanUp();
|
|
fs.symlinkSync(path.join(__dirname, '../../node_modules'), path.join(fixtures, 'events', 'node_modules'));
|
|
done();
|
|
},
|
|
tearDown: function(done) {
|
|
cleanUp();
|
|
done();
|
|
},
|
|
events: function(test) {
|
|
test.expect(3);
|
|
var cwd = path.resolve(fixtures, 'events');
|
|
var assertWatch = helper.assertTask('watch:all', {cwd: cwd});
|
|
assertWatch([function() {
|
|
writeAll(cwd);
|
|
}], function(result) {
|
|
result = helper.unixify(result);
|
|
helper.verboseLog(result);
|
|
test.ok(result.indexOf('lib/added.js was indeed added') !== -1, 'event not emitted when file added');
|
|
test.ok(result.indexOf('lib/one.js was indeed changed') !== -1, 'event not emitted when file changed');
|
|
test.ok(result.indexOf('lib/added.js was indeed deleted') !== -1, 'event not emitted when file deleted');
|
|
test.done();
|
|
});
|
|
},
|
|
onlyAdded: function(test) {
|
|
test.expect(3);
|
|
var cwd = path.resolve(fixtures, 'events');
|
|
var assertWatch = helper.assertTask('watch:onlyAdded', {cwd: cwd});
|
|
assertWatch([function() {
|
|
writeAll(cwd);
|
|
}], function(result) {
|
|
result = helper.unixify(result);
|
|
helper.verboseLog(result);
|
|
test.ok(result.indexOf('lib/added.js was indeed added') !== -1, 'event not emitted when file added');
|
|
test.ok(result.indexOf('lib/one.js was indeed changed') === -1, 'event should NOT have emitted when file changed');
|
|
test.ok(result.indexOf('lib/added.js was indeed deleted') === -1, 'event should NOT have emitted when file deleted');
|
|
test.done();
|
|
});
|
|
},
|
|
onlyChanged: function(test) {
|
|
test.expect(3);
|
|
var cwd = path.resolve(fixtures, 'events');
|
|
var assertWatch = helper.assertTask('watch:onlyChanged', {cwd: cwd});
|
|
assertWatch([function() {
|
|
writeAll(cwd);
|
|
}], function(result) {
|
|
result = helper.unixify(result);
|
|
helper.verboseLog(result);
|
|
test.ok(result.indexOf('lib/added.js was indeed added') === -1, 'event should NOT have emitted when file added');
|
|
test.ok(result.indexOf('lib/one.js was indeed changed') !== -1, 'event should have emitted when file changed');
|
|
test.ok(result.indexOf('lib/added.js was indeed deleted') === -1, 'event should NOT have emitted when file deleted');
|
|
test.done();
|
|
});
|
|
},
|
|
onlyDeleted: function(test) {
|
|
test.expect(3);
|
|
var cwd = path.resolve(fixtures, 'events');
|
|
var assertWatch = helper.assertTask('watch:onlyDeleted', {cwd: cwd});
|
|
assertWatch([function() {
|
|
writeAll(cwd);
|
|
}], function(result) {
|
|
result = helper.unixify(result);
|
|
helper.verboseLog(result);
|
|
test.ok(result.indexOf('lib/added.js was indeed added') === -1, 'event should NOT have emitted when file added');
|
|
test.ok(result.indexOf('lib/one.js was indeed changed') === -1, 'event should NOT have emitted when file changed');
|
|
test.ok(result.indexOf('lib/added.js was indeed deleted') !== -1, 'event should have emitted when file deleted');
|
|
test.done();
|
|
});
|
|
},
|
|
onlyAddedAndDeleted: function(test) {
|
|
test.expect(3);
|
|
var cwd = path.resolve(fixtures, 'events');
|
|
var assertWatch = helper.assertTask('watch:onlyAddedAndDeleted', {cwd: cwd});
|
|
assertWatch([function() {
|
|
writeAll(cwd);
|
|
}], function(result) {
|
|
result = helper.unixify(result);
|
|
helper.verboseLog(result);
|
|
test.ok(result.indexOf('lib/added.js was indeed added') !== -1, 'event should have emitted when file added');
|
|
test.ok(result.indexOf('lib/one.js was indeed changed') === -1, 'event should NOT have emitted when file changed');
|
|
test.ok(result.indexOf('lib/added.js was indeed deleted') !== -1, 'event should have emitted when file deleted');
|
|
test.done();
|
|
});
|
|
},
|
|
};
|