UNPKG

2.47 kBJavaScriptView Raw
1'use strict';
2
3var gaze = require('../lib/gaze.js');
4var grunt = require('grunt');
5var path = require('path');
6
7var fixtures = path.resolve(__dirname, 'fixtures');
8
9function cleanUp(done) {
10 [
11 'newfolder',
12 ].forEach(function(d) {
13 var p = path.join(fixtures, d);
14 if (grunt.file.exists(p)) {
15 grunt.file.delete(p);
16 }
17 });
18 done();
19}
20
21exports.matching = {
22 setUp: function(done) {
23 process.chdir(fixtures);
24 cleanUp(done);
25 },
26 tearDown: cleanUp,
27 globAll: function(test) {
28 test.expect(2);
29 gaze('**/*', function() {
30 var result = this.relative(null, true);
31 test.deepEqual(result['.'], ['Project (LO)/', 'nested/', 'one.js', 'sub/']);
32 test.deepEqual(result['sub/'], ['one.js', 'two.js']);
33 this.close();
34 test.done();
35 });
36 },
37 relativeDir: function(test) {
38 test.expect(1);
39 gaze('**/*', function() {
40 test.deepEqual(this.relative('sub', true), ['one.js', 'two.js']);
41 this.close();
42 test.done();
43 });
44 },
45 globArray: function(test) {
46 test.expect(2);
47 gaze(['*.js', 'sub/*.js'], function() {
48 var result = this.relative(null, true);
49 test.deepEqual(result['.'], ['one.js', 'Project (LO)/', 'nested/', 'sub/']);
50 test.deepEqual(result['sub/'], ['one.js', 'two.js']);
51 this.close();
52 test.done();
53 });
54 },
55 globArrayDot: function(test) {
56 test.expect(1);
57 gaze(['./sub/*.js'], function() {
58 var result = this.relative(null, true);
59 test.deepEqual(result['sub/'], ['one.js', 'two.js']);
60 this.close();
61 test.done();
62 });
63 },
64 oddName: function(test) {
65 test.expect(1);
66 gaze(['Project (LO)/*.js'], function() {
67 var result = this.relative(null, true);
68 test.deepEqual(result['Project (LO)/'], ['one.js']);
69 this.close();
70 test.done();
71 });
72 },
73 addedLater: function(test) {
74 test.expect(2);
75 var times = 0;
76 gaze('**/*.js', function(err, watcher) {
77 watcher.on('all', function(status, filepath) {
78 times++;
79 var result = watcher.relative(null, true);
80 test.deepEqual(result['newfolder/'], ['added.js']);
81 if (times > 1) { watcher.close(); }
82 });
83 grunt.file.write(path.join(fixtures, 'newfolder', 'added.js'), 'var added = true;');
84 setTimeout(function() {
85 grunt.file.write(path.join(fixtures, 'newfolder', 'added.js'), 'var added = true;');
86 }, 1000);
87 watcher.on('end', test.done);
88 });
89 },
90};