PATH:
usr
/
local
/
lib
/
node_modules
/
bower
/
lib
/
node_modules
/
resolve
/
test
var path = require('path'); var test = require('tape'); var resolve = require('../'); test('mock', function (t) { t.plan(4); var files = {}; files[path.resolve('/foo/bar/baz.js')] = 'beep'; function opts(basedir) { return { basedir: path.resolve(basedir), isFile: function (file) { return Object.prototype.hasOwnProperty.call(files, file); }, readFileSync: function (file) { return files[file]; } }; } t.equal( resolve.sync('./baz', opts('/foo/bar')), path.resolve('/foo/bar/baz.js') ); t.equal( resolve.sync('./baz.js', opts('/foo/bar')), path.resolve('/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 = {}; files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep'; files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({ main: './baz.js' }); function opts(basedir) { return { basedir: path.resolve(basedir), isFile: function (file) { return Object.prototype.hasOwnProperty.call(files, file); }, readFileSync: function (file) { return files[file]; } }; } t.equal( resolve.sync('bar', opts('/foo')), path.resolve('/foo/node_modules/bar/baz.js') ); });
[-] core.js
[edit]
[+]
resolver
[-] mock_sync.js
[edit]
[-] pathfilter.js
[edit]
[-] node_path.js
[edit]
[+]
..
[-] precedence.js
[edit]
[-] faulty_basedir.js
[edit]
[-] module_dir.js
[edit]
[-] dotdot.js
[edit]
[+]
dotdot
[-] mock.js
[edit]
[-] subdirs.js
[edit]
[-] node-modules-paths.js
[edit]
[+]
module_dir
[+]
node_path
[-] filter.js
[edit]
[-] filter_sync.js
[edit]
[-] resolver.js
[edit]
[-] resolver_sync.js
[edit]
[-] symlinks.js
[edit]
[+]
pathfilter
[+]
precedence
[-] nonstring.js
[edit]