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('async foo', function (t) {
5
t.plan(3);
6
var dir = __dirname + '/resolver';
7
8
resolve('./foo', { basedir : dir }, function (err, res) {
9
if (err) t.fail(err);
10
t.equal(res, dir + '/foo.js');
11
});
12
13
resolve('./foo.js', { basedir : dir }, function (err, res) {
14
if (err) t.fail(err);
15
t.equal(res, dir + '/foo.js');
16
});
17
18
resolve('foo', { basedir : dir }, function (err) {
19
t.equal(err.message, "Cannot find module 'foo'");
20
});
21
});
22
23
test('bar', function (t) {
24
t.plan(2);
25
var dir = __dirname + '/resolver';
26
27
resolve('foo', { basedir : dir + '/bar' }, function (err, res) {
28
if (err) t.fail(err);
29
t.equal(res, dir + '/bar/node_modules/foo/index.js');
30
});
31
32
resolve('foo', { basedir : dir + '/bar' }, function (err, res) {
33
if (err) t.fail(err);
34
t.equal(res, dir + '/bar/node_modules/foo/index.js');
35
});
36
});
37
38
test('baz', function (t) {
39
t.plan(1);
40
var dir = __dirname + '/resolver';
41
42
resolve('./baz', { basedir : dir }, function (err, res) {
43
if (err) t.fail(err);
44
t.equal(res, dir + '/baz/quux.js');
45
});
46
});
47
48
test('biz', function (t) {
49
t.plan(3);
50
var dir = __dirname + '/resolver/biz/node_modules';
51
52
resolve('./grux', { basedir : dir }, function (err, res) {
53
if (err) t.fail(err);
54
t.equal(res, dir + '/grux/index.js');
55
});
56
57
resolve('tiv', { basedir : dir + '/grux' }, function (err, res) {
58
if (err) t.fail(err);
59
t.equal(res, dir + '/tiv/index.js');
60
});
61
62
resolve('grux', { basedir : dir + '/tiv' }, function (err, res) {
63
if (err) t.fail(err);
64
t.equal(res, dir + '/grux/index.js');
65
});
66
});
67
68
test('normalize', function (t) {
69
t.plan(1);
70
var dir = __dirname + '/resolver/biz/node_modules/grux';
71
72
resolve('../grux', { basedir : dir }, function (err, res) {
73
if (err) t.fail(err);
74
t.equal(res, dir + '/index.js');
75
});
76
});
77
78
test('cup', function (t) {
79
t.plan(3);
80
var dir = __dirname + '/resolver';
81
82
resolve('./cup', { basedir : dir, extensions : [ '.js', '.coffee' ] },
83
function (err, res) {
84
if (err) t.fail(err);
85
t.equal(res, dir + '/cup.coffee');
86
});
87
88
resolve('./cup.coffee', { basedir : dir }, function (err, res) {
89
if (err) t.fail(err);
90
t.equal(res, dir + '/cup.coffee');
91
});
92
93
resolve('./cup', { basedir : dir, extensions : [ '.js' ] },
94
function (err, res) {
95
t.equal(err.message, "Cannot find module './cup'");
96
});
97
});
98
99
test('mug', function (t) {
100
t.plan(3);
101
var dir = __dirname + '/resolver';
102
103
resolve('./mug', { basedir : dir }, function (err, res) {
104
if (err) t.fail(err);
105
t.equal(res, dir + '/mug.js');
106
});
107
108
resolve('./mug', { basedir : dir, extensions : [ '.coffee', '.js' ] },
109
function (err, res) {
110
if (err) t.fail(err);
111
t.equal(res, dir + '/mug.coffee');
112
});
113
114
resolve('./mug', { basedir : dir, extensions : [ '.js', '.coffee' ] },
115
function (err, res) {
116
t.equal(res, dir + '/mug.js');
117
});
118
});
119
120
test('other path', function (t) {
121
t.plan(4);
122
var resolverDir = __dirname + '/resolver';
123
var dir = resolverDir + '/bar';
124
var otherDir = resolverDir + '/other_path';
125
126
resolve('root', { basedir : dir, paths: [otherDir] }, function (err, res) {
127
if (err) t.fail(err);
128
t.equal(res, resolverDir + '/other_path/root.js');
129
});
130
131
resolve('lib/other-lib', { basedir : dir, paths: [otherDir] },
132
function (err, res) {
133
if (err) t.fail(err);
134
t.equal(res, resolverDir + '/other_path/lib/other-lib.js');
135
});
136
137
resolve('root', { basedir : dir, }, function (err, res) {
138
t.equal(err.message, "Cannot find module 'root'");
139
});
140
141
resolve('zzz', { basedir : dir, paths: [otherDir] }, function (err, res) {
142
t.equal(err.message, "Cannot find module 'zzz'");
143
});
144
});
145
146