Files
taimed/node_modules/grunt-newer/test/integration/fixtures/newer-tolerance/gruntfile.js
2025-07-24 17:21:45 +08:00

102 lines
2.0 KiB
JavaScript

var assert = require('assert');
var path = require('path');
/**
* @param {Object} grunt Grunt.
*/
module.exports = function(grunt) {
var log = [];
grunt.initConfig({
newer: {
options: {
cache: path.join(__dirname, '.cache'),
tolerance: 2000
}
},
modified: {
one: {
files: [{
expand: true,
cwd: 'src/',
src: 'one.coffee',
dest: 'dest/',
ext: '.js'
}]
},
all: {
files: [{
expand: true,
cwd: 'src/',
src: '**/*.coffee',
dest: 'dest/',
ext: '.js'
}]
},
none: {
src: []
}
},
log: {
all: {
files: [{
expand: true,
cwd: 'src/',
src: '**/*.coffee',
dest: 'dest/',
ext: '.js'
}],
getLog: function() {
return log;
}
}
},
assert: {
that: {
getLog: function() {
return log;
}
}
}
});
grunt.loadTasks('../../../tasks');
grunt.loadTasks('../../../test/integration/tasks');
grunt.registerTask('assert-reconfigured', function() {
var config = grunt.config.get(['log', 'all']);
assert.deepEqual(Object.keys(config).sort(), ['files', 'getLog']);
var files = config.files;
assert.equal(files.length, 1);
assert.deepEqual(Object.keys(files[0]).sort(),
['cwd', 'dest', 'expand', 'ext', 'src']);
assert.equal(files[0].src, '**/*.coffee');
});
grunt.registerTask('default', function() {
grunt.task.run([
// run the log task with newer, expect all files
'newer:log',
'assert:that:modified:all',
// HFS+ filesystem mtime resolution
'wait:1001',
// modify one file
'modified:one',
// run assert task again, expect no files
'newer:log',
'assert:that:modified:none',
// check that log:all task has been reconfigured with original config
'assert-reconfigured'
]);
});
};