1 | 'use strict';
|
2 |
|
3 | var gaze = require('../lib/gaze.js');
|
4 | var path = require('path');
|
5 | var fs = require('fs');
|
6 |
|
7 |
|
8 | fs.existsSync = fs.existsSync || path.existsSync;
|
9 |
|
10 |
|
11 | function cleanUp(done) {
|
12 | [
|
13 | 'sub/rename.js',
|
14 | 'sub/renamed.js'
|
15 | ].forEach(function(d) {
|
16 | var p = path.resolve(__dirname, 'fixtures', d);
|
17 | if (fs.existsSync(p)) { fs.unlinkSync(p); }
|
18 | });
|
19 | done();
|
20 | }
|
21 |
|
22 | exports.watch = {
|
23 | setUp: function(done) {
|
24 | process.chdir(path.resolve(__dirname, 'fixtures'));
|
25 | cleanUp(done);
|
26 | },
|
27 | tearDown: cleanUp,
|
28 | rename: function(test) {
|
29 | test.expect(2);
|
30 | var oldPath = path.join(__dirname, 'fixtures', 'sub', 'rename.js');
|
31 | var newPath = path.join(__dirname, 'fixtures', 'sub', 'renamed.js');
|
32 | fs.writeFileSync(oldPath, 'var rename = true;');
|
33 | gaze('**/*', function(err, watcher) {
|
34 | watcher.on('renamed', function(newFile, oldFile) {
|
35 | test.equal(newFile, newPath);
|
36 | test.equal(oldFile, oldPath);
|
37 | watcher.close();
|
38 | test.done();
|
39 | });
|
40 | fs.renameSync(oldPath, newPath);
|
41 | });
|
42 | }
|
43 | };
|