Skip to content

Commit f994851

Browse files
author
Csaba Balint
committed
add tests for node, browser resolve
1 parent 291e734 commit f994851

File tree

5 files changed

+134
-0
lines changed

5 files changed

+134
-0
lines changed

test/files/resolve/bar/bar.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
var bar2 = require('./bar2');
2+
3+
module.exports = function () {
4+
return 'bar';
5+
};

test/files/resolve/bar/bar2.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = function () {
2+
return 'bar2';
3+
};

test/files/resolve/foo/baz/baz.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = function () {
2+
return 'baz';
3+
};

test/files/resolve/foo/foo.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
var bar = require('../bar/bar.js');
2+
var baz = require('./baz/baz.js');
3+
4+
module.exports = function () {
5+
return 'foo';
6+
};

test/resolve.js

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
var fs = require('fs');
2+
var path = require('path');
3+
4+
var mdeps = require('../');
5+
var test = require('tap').test;
6+
var nodeResolve = require('resolve');
7+
var browserResolve = require('browser-resolve');
8+
9+
var missing = path.join(__dirname, '/missing');
10+
11+
var files = {
12+
foo: path.join(__dirname, '/files/resolve/foo/foo.js'),
13+
bar: path.join(__dirname, '/files/resolve/bar/bar.js'),
14+
bar2: path.join(__dirname, '/files/resolve/bar/bar2.js'),
15+
baz: path.join(__dirname, '/files/resolve/foo/baz/baz.js')
16+
};
17+
18+
var sources = Object.keys(files)
19+
.reduce(function (acc, file) {
20+
acc[file] = fs.readFileSync(files[file], 'utf8');
21+
return acc;
22+
}, {});
23+
24+
var expectedRows = [
25+
{
26+
"deps": {},
27+
"file": files.baz,
28+
"id": files.baz,
29+
"source": sources.baz
30+
},
31+
{
32+
"deps": {},
33+
"file": files.bar2,
34+
"id": files.bar2,
35+
"source": sources.bar2
36+
},
37+
{
38+
"deps": {
39+
"./bar2": files.bar2
40+
},
41+
"file": files.bar,
42+
"id": files.bar,
43+
"source": sources.bar
44+
},
45+
{
46+
"deps": {
47+
"../bar/bar.js": files.bar,
48+
"./baz/baz.js": files.baz
49+
},
50+
"entry": true,
51+
"file": files.foo,
52+
"id": "foo",
53+
"source": sources.foo
54+
}
55+
];
56+
57+
test('browser resolve - missing', function (t) {
58+
t.plan(1);
59+
var d = mdeps({resolve: browserResolve});
60+
61+
d.end({id: 'missing', file: missing, entry: true});
62+
63+
d.on('error', function (err) {
64+
t.match(
65+
String(err),
66+
/Cannot find module .*/
67+
);
68+
});
69+
});
70+
71+
test('node resolve - missing', function (t) {
72+
t.plan(1);
73+
var d = mdeps({resolve: nodeResolve});
74+
75+
d.end({id: 'missing', file: missing, entry: true});
76+
77+
d.on('error', function (err) {
78+
t.match(
79+
String(err),
80+
/Cannot find module .*/
81+
);
82+
});
83+
});
84+
85+
test('browser resolve', function (t) {
86+
t.plan(1);
87+
var d = mdeps({resolve: browserResolve});
88+
89+
d.end({id: 'foo', file: files.foo, entry: true});
90+
91+
var rows = [];
92+
d.on('data', function (row) {rows.push(row)});
93+
d.on('end', function () {
94+
t.same(rows, expectedRows);
95+
});
96+
97+
d.on('error', function (err) {
98+
t.fail('errored');
99+
});
100+
});
101+
102+
test('node resolve', function (t) {
103+
t.plan(1);
104+
var d = mdeps({resolve: nodeResolve});
105+
106+
d.end({id: 'foo', file: files.foo, entry: true});
107+
108+
var rows = [];
109+
d.on('data', function (row) {rows.push(row)});
110+
d.on('end', function () {
111+
t.same(rows, expectedRows);
112+
});
113+
114+
d.on('error', function (err) {
115+
t.fail('errored');
116+
});
117+
});

0 commit comments

Comments
 (0)