PATH:
usr
/
local
/
lib
/
node_modules
/
pm2
/
node_modules
/
resolve
/
test
var path = require('path'); var test = require('tape'); var resolve = require('../'); var resolverDir = path.join(__dirname, '/pathfilter/deep_ref'); var pathFilterFactory = function (t) { return function (pkg, x, remainder) { t.equal(pkg.version, '1.2.3'); t.equal(x, path.join(resolverDir, 'node_modules/deep/ref')); t.equal(remainder, 'ref'); return 'alt'; }; }; test('#62: deep module references and the pathFilter', function (t) { t.test('deep/ref.js', function (st) { st.plan(3); resolve('deep/ref', { basedir: resolverDir }, function (err, res, pkg) { if (err) st.fail(err); st.equal(pkg.version, '1.2.3'); st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js')); }); var res = resolve.sync('deep/ref', { basedir: resolverDir }); st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js')); }); t.test('deep/deeper/ref', function (st) { st.plan(4); resolve( 'deep/deeper/ref', { basedir: resolverDir }, function (err, res, pkg) { if (err) t.fail(err); st.notEqual(pkg, undefined); st.equal(pkg.version, '1.2.3'); st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js')); } ); var res = resolve.sync( 'deep/deeper/ref', { basedir: resolverDir } ); st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js')); }); t.test('deep/ref alt', function (st) { st.plan(8); var pathFilter = pathFilterFactory(st); var res = resolve.sync( 'deep/ref', { basedir: resolverDir, pathFilter: pathFilter } ); st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js')); resolve( 'deep/ref', { basedir: resolverDir, pathFilter: pathFilter }, function (err, res, pkg) { if (err) st.fail(err); st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js')); st.end(); } ); }); t.end(); });
[-] core.js
[edit]
[+]
resolver
[-] mock_sync.js
[edit]
[-] pathfilter.js
[edit]
[-] node_path.js
[edit]
[+]
..
[-] precedence.js
[edit]
[-] shadowed_core.js
[edit]
[-] faulty_basedir.js
[edit]
[-] module_dir.js
[edit]
[-] dotdot.js
[edit]
[+]
dotdot
[-] mock.js
[edit]
[-] subdirs.js
[edit]
[-] .eslintrc
[edit]
[-] node-modules-paths.js
[edit]
[+]
module_dir
[+]
node_path
[+]
shadowed_core
[-] filter.js
[edit]
[-] filter_sync.js
[edit]
[-] resolver.js
[edit]
[-] resolver_sync.js
[edit]
[-] symlinks.js
[edit]
[+]
pathfilter
[+]
precedence
[-] nonstring.js
[edit]