69 lines
1.5 KiB
JavaScript
69 lines
1.5 KiB
JavaScript
var test = require('tape');
|
|
var resolve = require('../');
|
|
|
|
test('mock', function (t) {
|
|
t.plan(4);
|
|
|
|
var files = {
|
|
'/foo/bar/baz.js' : 'beep'
|
|
};
|
|
|
|
function opts (basedir) {
|
|
return {
|
|
basedir : basedir,
|
|
isFile : function (file) {
|
|
return files.hasOwnProperty(file)
|
|
},
|
|
readFileSync : function (file) {
|
|
return files[file]
|
|
}
|
|
}
|
|
}
|
|
|
|
t.equal(
|
|
resolve.sync('./baz', opts('/foo/bar')),
|
|
'/foo/bar/baz.js'
|
|
);
|
|
|
|
t.equal(
|
|
resolve.sync('./baz.js', opts('/foo/bar')),
|
|
'/foo/bar/baz.js'
|
|
);
|
|
|
|
t.throws(function () {
|
|
resolve.sync('baz', opts('/foo/bar'));
|
|
});
|
|
|
|
t.throws(function () {
|
|
resolve.sync('../baz', opts('/foo/bar'));
|
|
});
|
|
});
|
|
|
|
test('mock package', function (t) {
|
|
t.plan(1);
|
|
|
|
var files = {
|
|
'/foo/node_modules/bar/baz.js' : 'beep',
|
|
'/foo/node_modules/bar/package.json' : JSON.stringify({
|
|
main : './baz.js'
|
|
})
|
|
};
|
|
|
|
function opts (basedir) {
|
|
return {
|
|
basedir : basedir,
|
|
isFile : function (file) {
|
|
return files.hasOwnProperty(file)
|
|
},
|
|
readFileSync : function (file) {
|
|
return files[file]
|
|
}
|
|
}
|
|
}
|
|
|
|
t.equal(
|
|
resolve.sync('bar', opts('/foo')),
|
|
'/foo/node_modules/bar/baz.js'
|
|
);
|
|
});
|