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'
|
||
|
);
|
||
|
});
|