1 | 'use strict';
|
2 |
|
3 | var gaze = require('../lib/gaze');
|
4 | var grunt = require('grunt');
|
5 | var path = require('path');
|
6 |
|
7 |
|
8 | var watchDir = path.resolve(__dirname, 'watch');
|
9 |
|
10 |
|
11 | function createFiles(num, dir) {
|
12 | for (var i = 0; i < num; i++) {
|
13 | grunt.file.write(path.join(dir, 'test-' + i + '.js'), 'var test = ' + i + ';');
|
14 | }
|
15 | }
|
16 |
|
17 | module.exports = {
|
18 | 'setUp': function(done) {
|
19 |
|
20 | if (grunt.file.exists(watchDir)) {
|
21 | grunt.file.delete(watchDir, {force:true});
|
22 | }
|
23 | createFiles(100, path.join(watchDir, 'one'));
|
24 | createFiles(100, path.join(watchDir, 'two'));
|
25 | createFiles(100, path.join(watchDir, 'three'));
|
26 | createFiles(100, path.join(watchDir, 'three', 'four'));
|
27 | createFiles(100, path.join(watchDir, 'three', 'four', 'five', 'six'));
|
28 | process.chdir(watchDir);
|
29 | done();
|
30 | },
|
31 | 'tearDown': function(done) {
|
32 | if (grunt.file.exists(watchDir)) {
|
33 | grunt.file.delete(watchDir, {force:true});
|
34 | }
|
35 | done();
|
36 | },
|
37 | changed: function(done) {
|
38 | gaze('**/*', {maxListeners:0}, function(err, watcher) {
|
39 | this.on('changed', done);
|
40 | setTimeout(function() {
|
41 | var rand = String(new Date().getTime()).replace(/[^\w]+/g, '');
|
42 | grunt.file.write(path.join(watchDir, 'one', 'test-99.js'), 'var test = "' + rand + '"');
|
43 | }, 100);
|
44 | });
|
45 | }
|
46 | }; |
\ | No newline at end of file |