Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80529 views
1
var test = require('tape');
2
var resolve = require('../');
3
4
test('foo', function (t) {
5
var dir = __dirname + '/resolver';
6
7
t.equal(
8
resolve.sync('./foo', { basedir : dir }),
9
dir + '/foo.js'
10
);
11
12
t.equal(
13
resolve.sync('./foo.js', { basedir : dir }),
14
dir + '/foo.js'
15
);
16
17
t.throws(function () {
18
resolve.sync('foo', { basedir : dir });
19
});
20
21
t.end();
22
});
23
24
test('bar', function (t) {
25
var dir = __dirname + '/resolver';
26
27
t.equal(
28
resolve.sync('foo', { basedir : dir + '/bar' }),
29
dir + '/bar/node_modules/foo/index.js'
30
);
31
t.end();
32
});
33
34
test('baz', function (t) {
35
var dir = __dirname + '/resolver';
36
37
t.equal(
38
resolve.sync('./baz', { basedir : dir }),
39
dir + '/baz/quux.js'
40
);
41
t.end();
42
});
43
44
test('biz', function (t) {
45
var dir = __dirname + '/resolver/biz/node_modules';
46
t.equal(
47
resolve.sync('./grux', { basedir : dir }),
48
dir + '/grux/index.js'
49
);
50
51
t.equal(
52
resolve.sync('tiv', { basedir : dir + '/grux' }),
53
dir + '/tiv/index.js'
54
);
55
56
t.equal(
57
resolve.sync('grux', { basedir : dir + '/tiv' }),
58
dir + '/grux/index.js'
59
);
60
t.end();
61
});
62
63
test('normalize', function (t) {
64
var dir = __dirname + '/resolver/biz/node_modules/grux';
65
t.equal(
66
resolve.sync('../grux', { basedir : dir }),
67
dir + '/index.js'
68
);
69
t.end();
70
});
71
72
test('cup', function (t) {
73
var dir = __dirname + '/resolver';
74
t.equal(
75
resolve.sync('./cup', {
76
basedir : dir,
77
extensions : [ '.js', '.coffee' ]
78
}),
79
dir + '/cup.coffee'
80
);
81
82
t.equal(
83
resolve.sync('./cup.coffee', {
84
basedir : dir
85
}),
86
dir + '/cup.coffee'
87
);
88
89
t.throws(function () {
90
resolve.sync('./cup', {
91
basedir : dir,
92
extensions : [ '.js' ]
93
})
94
});
95
96
t.end();
97
});
98
99
test('mug', function (t) {
100
var dir = __dirname + '/resolver';
101
t.equal(
102
resolve.sync('./mug', { basedir : dir }),
103
dir + '/mug.js'
104
);
105
106
t.equal(
107
resolve.sync('./mug', {
108
basedir : dir,
109
extensions : [ '.coffee', '.js' ]
110
}),
111
dir + '/mug.coffee'
112
);
113
114
t.equal(
115
resolve.sync('./mug', {
116
basedir : dir,
117
extensions : [ '.js', '.coffee' ]
118
}),
119
dir + '/mug.js'
120
);
121
122
t.end();
123
});
124
125
test('other path', function (t) {
126
var resolverDir = __dirname + '/resolver';
127
var dir = resolverDir + '/bar';
128
var otherDir = resolverDir + '/other_path';
129
130
var path = require('path');
131
132
t.equal(
133
resolve.sync('root', {
134
basedir : dir,
135
paths: [otherDir] }),
136
resolverDir + '/other_path/root.js'
137
);
138
139
t.equal(
140
resolve.sync('lib/other-lib', {
141
basedir : dir,
142
paths: [otherDir] }),
143
resolverDir + '/other_path/lib/other-lib.js'
144
);
145
146
t.throws(function () {
147
resolve.sync('root', { basedir : dir, });
148
});
149
150
t.throws(function () {
151
resolve.sync('zzz', {
152
basedir : dir,
153
paths: [otherDir] });
154
});
155
156
t.end();
157
});
158
159
test('incorrect main', function (t) {
160
var resolverDir = __dirname + '/resolver';
161
var dir = resolverDir + '/incorrect_main';
162
163
t.equal(
164
resolve.sync('./incorrect_main', { basedir : resolverDir }),
165
dir + '/index.js'
166
)
167
168
t.end()
169
});
170
171
test('#25: node modules with the same name as node stdlib modules', function (t) {
172
var resolverDir = __dirname + '/resolver/punycode';
173
174
t.equal(
175
resolve.sync('punycode', { basedir : resolverDir }),
176
resolverDir + '/node_modules/punycode/index.js'
177
)
178
179
t.end()
180
});
181
182