forked from aseemk/requireDir
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnoCache.js
59 lines (51 loc) · 1.28 KB
/
noCache.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
var assert = require("assert");
var requireDir = require("..");
var fs = require("fs");
var cachedResult = {
a: "a",
b: "b"
};
var notCachedResult = {
a: "c",
b: "b"
};
// filter the results to a particular file:
assert.deepEqual(requireDir("./noCache", { noCache: false }), cachedResult);
var promiseFileModification = new Promise(function(resolve, reject) {
fs.writeFile("test/noCache/a.js", "module.exports = 'c';", "ascii", function(
error
) {
if (error) {
reject(error);
} else {
resolve();
}
});
});
promiseFileModification.then(
function() {
// Check if cache is active that it is the same result
assert.deepEqual(requireDir("./noCache", { noCache: false }), cachedResult);
// Check by removing cache that the result is the new content
assert.deepEqual(
requireDir("./noCache", { noCache: true }),
notCachedResult
);
console.log("noCache tests passed.");
fs.writeFile(
"test/noCache/a.js",
"module.exports = 'a';",
"ascii",
function(error) {
if (error) {
console.error("noCache tests, issue to reset test.");
console.error(error);
}
}
);
},
function(error) {
console.error("noCache tests failed.");
console.error(error);
}
);