1 | 'use strict';
|
2 |
|
3 | var Gaze = require('../lib/gaze.js').Gaze;
|
4 | var path = require('path');
|
5 | var fs = require('fs');
|
6 |
|
7 | var fixtures = path.resolve(__dirname, 'fixtures');
|
8 |
|
9 | exports.add = {
|
10 | setUp: function(done) {
|
11 | process.chdir(fixtures);
|
12 | done();
|
13 | },
|
14 | addToWatched: function(test) {
|
15 | test.expect(1);
|
16 | var files = [
|
17 | 'Project (LO)/',
|
18 | 'Project (LO)/one.js',
|
19 | 'nested/',
|
20 | 'nested/one.js',
|
21 | 'nested/three.js',
|
22 | 'nested/sub/',
|
23 | 'nested/sub/two.js',
|
24 | 'one.js',
|
25 | ];
|
26 | var expected = {
|
27 | 'Project (LO)/': ['one.js'],
|
28 | '.': ['Project (LO)/', 'nested/', 'one.js', 'sub/'],
|
29 | 'nested/': ['sub/', 'sub2/', 'one.js', 'three.js'],
|
30 | 'nested/sub/': ['two.js'],
|
31 | };
|
32 | var gaze = new Gaze('addnothingtowatch');
|
33 | gaze._addToWatched(files);
|
34 | test.deepEqual(gaze.relative(null, true), expected);
|
35 | test.done();
|
36 | },
|
37 | addLater: function(test) {
|
38 | test.expect(3);
|
39 | new Gaze('sub/one.js', function(err, watcher) {
|
40 | test.deepEqual(watcher.relative('sub'), ['one.js']);
|
41 | watcher.add('sub/*.js', function() {
|
42 | test.deepEqual(watcher.relative('sub'), ['one.js', 'two.js']);
|
43 | watcher.on('changed', function(filepath) {
|
44 | test.equal('two.js', path.basename(filepath));
|
45 | watcher.close();
|
46 | test.done();
|
47 | });
|
48 | fs.writeFileSync(path.resolve(__dirname, 'fixtures', 'sub', 'two.js'), 'var two = true;');
|
49 | });
|
50 | });
|
51 | }
|
52 | };
|