1 var path = require('path');
2 var test = require('tape');
3 var resolve = require('../');
5 test('mock', function (t) {
9 files[path.resolve('/foo/bar/baz.js')] = 'beep';
11 function opts(basedir) {
13 basedir: path.resolve(basedir),
14 isFile: function (file) {
15 return Object.prototype.hasOwnProperty.call(files, file);
17 readFileSync: function (file) {
24 resolve.sync('./baz', opts('/foo/bar')),
25 path.resolve('/foo/bar/baz.js')
29 resolve.sync('./baz.js', opts('/foo/bar')),
30 path.resolve('/foo/bar/baz.js')
33 t.throws(function () {
34 resolve.sync('baz', opts('/foo/bar'));
37 t.throws(function () {
38 resolve.sync('../baz', opts('/foo/bar'));
42 test('mock package', function (t) {
46 files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep';
47 files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
51 function opts(basedir) {
53 basedir: path.resolve(basedir),
54 isFile: function (file) {
55 return Object.prototype.hasOwnProperty.call(files, file);
57 readFileSync: function (file) {
64 resolve.sync('bar', opts('/foo')),
65 path.resolve('/foo/node_modules/bar/baz.js')