Spaces:
Running
Running
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(); | |
}); | |