--- /dev/null
+var test = require('tape');
+var resolve = require('../');
+
+test('#62: deep module references and the pathFilter', function(t){
+ t.plan(9);
+
+ var resolverDir = __dirname + '/pathfilter/deep_ref';
+ var pathFilter = function(pkg, x, remainder){
+ t.equal(pkg.version, "1.2.3");
+ t.equal(x, 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, 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, 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, resolverDir + '/node_modules/deep/alt.js');
+ });
+});