var path = require('path'); var test = require('tape'); var resolve = require('../'); test('#62: deep module references and the pathFilter', function (t) { t.plan(9); var resolverDir = path.join(__dirname, '/pathfilter/deep_ref'); var pathFilter = 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'; }; resolve('deep/ref', { basedir: resolverDir }, function (err, res, pkg) { if (err) t.fail(err); t.equal(pkg.version, '1.2.3'); t.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js')); }); resolve( 'deep/deeper/ref', { basedir: resolverDir }, function (err, res, pkg) { if (err) t.fail(err); t.notEqual(pkg, undefined); t.equal(pkg.version, '1.2.3'); t.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js')); } ); resolve( 'deep/ref', { basedir: resolverDir, pathFilter: pathFilter }, function (err, res, pkg) { if (err) t.fail(err); t.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js')); } ); });