Initial commit
[yaffs-website] / node_modules / resolve / test / pathfilter.js
1 var path = require('path');
2 var test = require('tape');
3 var resolve = require('../');
4
5 test('#62: deep module references and the pathFilter', function (t) {
6     t.plan(9);
7
8     var resolverDir = path.join(__dirname, '/pathfilter/deep_ref');
9     var pathFilter = function (pkg, x, remainder) {
10         t.equal(pkg.version, '1.2.3');
11         t.equal(x, path.join(resolverDir, 'node_modules/deep/ref'));
12         t.equal(remainder, 'ref');
13         return 'alt';
14     };
15
16     resolve('deep/ref', { basedir: resolverDir }, function (err, res, pkg) {
17         if (err) t.fail(err);
18
19         t.equal(pkg.version, '1.2.3');
20         t.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js'));
21     });
22
23     resolve(
24         'deep/deeper/ref',
25         { basedir: resolverDir },
26         function (err, res, pkg) {
27             if (err) t.fail(err);
28             t.notEqual(pkg, undefined);
29             t.equal(pkg.version, '1.2.3');
30             t.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js'));
31         }
32     );
33
34     resolve(
35         'deep/ref',
36         { basedir: resolverDir, pathFilter: pathFilter },
37         function (err, res, pkg) {
38             if (err) t.fail(err);
39             t.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js'));
40         }
41     );
42 });