Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80762 views
1
var test = require('tap').test;
2
var resolve = require('../');
3
4
test('mock', function (t) {
5
t.plan(4);
6
7
var files = {
8
'/foo/bar/baz.js' : 'beep'
9
};
10
11
function opts (basedir) {
12
return {
13
basedir : basedir,
14
isFile : function (file, cb) {
15
cb(null, files.hasOwnProperty(file));
16
},
17
readFile : function (file, cb) {
18
cb(null, files[file]);
19
}
20
}
21
}
22
23
resolve('./baz', opts('/foo/bar'), function (err, res) {
24
if (err) t.fail(err);
25
t.equal(res, '/foo/bar/baz.js');
26
});
27
28
resolve('./baz.js', opts('/foo/bar'), function (err, res) {
29
if (err) t.fail(err);
30
t.equal(res, '/foo/bar/baz.js');
31
});
32
33
resolve('baz', opts('/foo/bar'), function (err, res) {
34
t.equal(err.message, "Cannot find module 'baz'");
35
});
36
37
resolve('../baz', opts('/foo/bar'), function (err, res) {
38
t.equal(err.message, "Cannot find module '../baz'");
39
});
40
});
41
42
test('mock package', function (t) {
43
t.plan(1);
44
45
var files = {
46
'/foo/node_modules/bar/baz.js' : 'beep',
47
'/foo/node_modules/bar/package.json' : JSON.stringify({
48
main : './baz.js'
49
})
50
};
51
52
function opts (basedir) {
53
return {
54
basedir : basedir,
55
isFile : function (file, cb) {
56
cb(null, files.hasOwnProperty(file));
57
},
58
readFile : function (file, cb) {
59
cb(null, files[file]);
60
}
61
}
62
}
63
64
resolve('bar', opts('/foo'), function (err, res) {
65
if (err) t.fail(err);
66
t.equal(res, '/foo/node_modules/bar/baz.js');
67
});
68
});
69
70