Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80538 views
1
var parser = require('../');
2
var test = require('tap').test;
3
var fs = require('fs');
4
var path = require('path');
5
6
var files = {
7
foo: path.join(__dirname, '/files/foo.js'),
8
bar: path.join(__dirname, '/files/bar.js')
9
};
10
11
var sources = {
12
foo: 'notreal foo',
13
bar: fs.readFileSync(files.bar, 'utf8')
14
};
15
16
var cache = {};
17
cache[files.foo] = {
18
source: sources.foo,
19
deps: { './bar': files.bar }
20
};
21
22
test('uses cache and reads from disk', function (t) {
23
t.plan(1);
24
var p = parser({ cache: cache });
25
p.end({ id: 'foo', file: files.foo, entry: false });
26
27
var rows = [];
28
p.on('data', function (row) { rows.push(row) });
29
p.on('end', function () {
30
t.same(rows.sort(cmp), [
31
{
32
id: 'foo',
33
file: files.foo,
34
source: sources.foo,
35
deps: { './bar': files.bar }
36
},
37
{
38
id: files.bar,
39
file: files.bar,
40
source: sources.bar,
41
deps: {}
42
}
43
].sort(cmp));
44
});
45
});
46
47
function cmp (a, b) { return a.id < b.id ? -1 : 1 }
48
49