diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-28 00:38:50 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-28 00:40:43 +0200 |
commit | 7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 (patch) | |
tree | 6de9a1aebd150a23b7f8c273ec657a5d0a18fe3e /node_modules/resolve/test | |
parent | 963b7a41feb29cc4be090a2446bdfe0c1f1bcd81 (diff) | |
download | wallet-core-7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027.tar.xz |
add linting (and some initial fixes)
Diffstat (limited to 'node_modules/resolve/test')
44 files changed, 698 insertions, 476 deletions
diff --git a/node_modules/resolve/test/core.js b/node_modules/resolve/test/core.js index 4a5668207..1182e0c0b 100644 --- a/node_modules/resolve/test/core.js +++ b/node_modules/resolve/test/core.js @@ -2,11 +2,28 @@ var test = require('tape'); var resolve = require('../'); test('core modules', function (t) { - t.ok(resolve.isCore('fs')); - t.ok(resolve.isCore('net')); - t.ok(resolve.isCore('http')); - - t.ok(!resolve.isCore('seq')); - t.ok(!resolve.isCore('../')); + t.test('isCore()', function (st) { + st.ok(resolve.isCore('fs')); + st.ok(resolve.isCore('net')); + st.ok(resolve.isCore('http')); + + st.ok(!resolve.isCore('seq')); + st.ok(!resolve.isCore('../')); + st.end(); + }); + + t.test('core list', function (st) { + st.plan(resolve.core.length); + + for (var i = 0; i < resolve.core.length; ++i) { + st.doesNotThrow( + function () { require(resolve.core[i]); }, // eslint-disable-line no-loop-func + 'requiring ' + resolve.core[i] + ' does not throw' + ); + } + + st.end(); + }); + t.end(); }); diff --git a/node_modules/resolve/test/dotdot.js b/node_modules/resolve/test/dotdot.js index b87677278..30806659b 100644 --- a/node_modules/resolve/test/dotdot.js +++ b/node_modules/resolve/test/dotdot.js @@ -4,26 +4,26 @@ var resolve = require('../'); test('dotdot', function (t) { t.plan(4); - var dir = __dirname + '/dotdot/abc'; - - resolve('..', { basedir : dir }, function (err, res, pkg) { + var dir = path.join(__dirname, '/dotdot/abc'); + + resolve('..', { basedir: dir }, function (err, res, pkg) { t.ifError(err); - t.equal(res, __dirname + '/dotdot/index.js'); + t.equal(res, path.join(__dirname, 'dotdot/index.js')); }); - - resolve('.', { basedir : dir }, function (err, res, pkg) { + + resolve('.', { basedir: dir }, function (err, res, pkg) { t.ifError(err); - t.equal(res, dir + '/index.js'); + t.equal(res, path.join(dir, 'index.js')); }); }); test('dotdot sync', function (t) { t.plan(2); - var dir = __dirname + '/dotdot/abc'; - - var a = resolve.sync('..', { basedir : dir }); - t.equal(a, __dirname + '/dotdot/index.js'); - - var b = resolve.sync('.', { basedir : dir }); - t.equal(b, dir + '/index.js'); + var dir = path.join(__dirname, '/dotdot/abc'); + + var a = resolve.sync('..', { basedir: dir }); + t.equal(a, path.join(__dirname, 'dotdot/index.js')); + + var b = resolve.sync('.', { basedir: dir }); + t.equal(b, path.join(dir, 'index.js')); }); diff --git a/node_modules/resolve/test/dotdot/index.js b/node_modules/resolve/test/dotdot/index.js index afec73603..643f9fcc6 100644 --- a/node_modules/resolve/test/dotdot/index.js +++ b/node_modules/resolve/test/dotdot/index.js @@ -1 +1 @@ -module.exports = 'whatever' +module.exports = 'whatever'; diff --git a/node_modules/resolve/test/faulty_basedir.js b/node_modules/resolve/test/faulty_basedir.js index 244081882..e20d937ca 100644 --- a/node_modules/resolve/test/faulty_basedir.js +++ b/node_modules/resolve/test/faulty_basedir.js @@ -1,16 +1,12 @@ -var path = require('path'); var test = require('tape'); var resolve = require('../'); -// not sure what's up with this test anymore -if (process.platform !== 'win32') return; - -test('faulty basedir must produce error in windows', function (t) { +test('faulty basedir must produce error in windows', { skip: process.platform !== 'win32' }, function (t) { t.plan(1); var resolverDir = 'C:\\a\\b\\c\\d'; - resolve('tape/lib/test.js', { basedir : resolverDir }, function (err, res, pkg) { + resolve('tape/lib/test.js', { basedir: resolverDir }, function (err, res, pkg) { t.equal(true, !!err); }); diff --git a/node_modules/resolve/test/filter.js b/node_modules/resolve/test/filter.js index 07c38f349..51a753f16 100644 --- a/node_modules/resolve/test/filter.js +++ b/node_modules/resolve/test/filter.js @@ -1,18 +1,19 @@ +var path = require('path'); var test = require('tape'); var resolve = require('../'); test('filter', function (t) { t.plan(2); - var dir = __dirname + '/resolver'; + var dir = path.join(__dirname, 'resolver'); resolve('./baz', { - basedir : dir, - packageFilter : function (pkg) { + basedir: dir, + packageFilter: function (pkg) { pkg.main = 'doom'; return pkg; } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/baz/doom.js'); + t.equal(res, path.join(dir, 'baz/doom.js')); t.equal(pkg.main, 'doom'); }); }); diff --git a/node_modules/resolve/test/filter_sync.js b/node_modules/resolve/test/filter_sync.js index 3f89b7942..fd4e97c28 100644 --- a/node_modules/resolve/test/filter_sync.js +++ b/node_modules/resolve/test/filter_sync.js @@ -1,15 +1,16 @@ +var path = require('path'); var test = require('tape'); var resolve = require('../'); test('filter', function (t) { - var dir = __dirname + '/resolver'; + var dir = path.join(__dirname, 'resolver'); var res = resolve.sync('./baz', { - basedir : dir, - packageFilter : function (pkg) { - pkg.main = 'doom' + basedir: dir, + packageFilter: function (pkg) { + pkg.main = 'doom'; return pkg; } }); - t.equal(res, dir + '/baz/doom.js'); + t.equal(res, path.join(dir, 'baz/doom.js')); t.end(); }); diff --git a/node_modules/resolve/test/mock.js b/node_modules/resolve/test/mock.js index 1cf3b1247..a88059d45 100644 --- a/node_modules/resolve/test/mock.js +++ b/node_modules/resolve/test/mock.js @@ -1,142 +1,143 @@ +var path = require('path'); var test = require('tape'); var resolve = require('../'); test('mock', function (t) { - t.plan(6); - - var files = { - '/foo/bar/baz.js' : 'beep' - }; - - function opts (basedir) { + t.plan(8); + + var files = {}; + files[path.resolve('/foo/bar/baz.js')] = 'beep'; + + function opts(basedir) { return { - basedir : basedir, - isFile : function (file, cb) { - cb(null, files.hasOwnProperty(file)); + basedir: path.resolve(basedir), + isFile: function (file, cb) { + cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file))); }, - readFile : function (file, cb) { - cb(null, files[file]); + readFile: function (file, cb) { + cb(null, files[path.resolve(file)]); } - } + }; } - + resolve('./baz', opts('/foo/bar'), function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, '/foo/bar/baz.js'); + if (err) return t.fail(err); + t.equal(res, path.resolve('/foo/bar/baz.js')); t.equal(pkg, undefined); }); - + resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, '/foo/bar/baz.js'); + if (err) return t.fail(err); + t.equal(res, path.resolve('/foo/bar/baz.js')); t.equal(pkg, undefined); }); - + resolve('baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module 'baz' from '/foo/bar'"); + t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); - + resolve('../baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module '../baz' from '/foo/bar'"); + t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); }); test('mock from package', function (t) { - t.plan(6); - - var files = { - '/foo/bar/baz.js' : 'beep' - }; - - function opts (basedir) { + t.plan(8); + + var files = {}; + files[path.resolve('/foo/bar/baz.js')] = 'beep'; + + function opts(basedir) { return { - basedir : basedir, - package : { main: 'bar' }, - isFile : function (file, cb) { - cb(null, files.hasOwnProperty(file)); + basedir: path.resolve(basedir), + isFile: function (file, cb) { + cb(null, Object.prototype.hasOwnProperty.call(files, file)); }, - readFile : function (file, cb) { + 'package': { main: 'bar' }, + readFile: function (file, cb) { cb(null, files[file]); } - } + }; } - + resolve('./baz', opts('/foo/bar'), function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, '/foo/bar/baz.js'); - t.equal(pkg.main, 'bar'); + if (err) return t.fail(err); + t.equal(res, path.resolve('/foo/bar/baz.js')); + t.equal(pkg && pkg.main, 'bar'); }); - + resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, '/foo/bar/baz.js'); - t.equal(pkg.main, 'bar'); + if (err) return t.fail(err); + t.equal(res, path.resolve('/foo/bar/baz.js')); + t.equal(pkg && pkg.main, 'bar'); }); - + resolve('baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module 'baz' from '/foo/bar'"); + t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); - + resolve('../baz', opts('/foo/bar'), function (err, res) { - t.equal(err.message, "Cannot find module '../baz' from '/foo/bar'"); + t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); }); test('mock package', function (t) { t.plan(2); - - var files = { - '/foo/node_modules/bar/baz.js' : 'beep', - '/foo/node_modules/bar/package.json' : JSON.stringify({ - main : './baz.js' - }) - }; - - function opts (basedir) { + + 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 : basedir, - isFile : function (file, cb) { - cb(null, files.hasOwnProperty(file)); + basedir: path.resolve(basedir), + isFile: function (file, cb) { + cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file))); }, - readFile : function (file, cb) { - cb(null, files[file]); + readFile: function (file, cb) { + cb(null, files[path.resolve(file)]); } - } + }; } - + resolve('bar', opts('/foo'), function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, '/foo/node_modules/bar/baz.js'); - t.equal(pkg.main, './baz.js'); + if (err) return t.fail(err); + t.equal(res, path.resolve('/foo/node_modules/bar/baz.js')); + t.equal(pkg && pkg.main, './baz.js'); }); }); test('mock package from package', function (t) { t.plan(2); - - var files = { - '/foo/node_modules/bar/baz.js' : 'beep', - '/foo/node_modules/bar/package.json' : JSON.stringify({ - main : './baz.js' - }) - }; - - function opts (basedir) { + + 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 : basedir, - package : { main: 'bar' }, - isFile : function (file, cb) { - cb(null, files.hasOwnProperty(file)); + basedir: path.resolve(basedir), + isFile: function (file, cb) { + cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file))); }, - readFile : function (file, cb) { - cb(null, files[file]); + 'package': { main: 'bar' }, + readFile: function (file, cb) { + cb(null, files[path.resolve(file)]); } - } + }; } - + resolve('bar', opts('/foo'), function (err, res, pkg) { - if (err) t.fail(err); - t.equal(res, '/foo/node_modules/bar/baz.js'); - t.equal(pkg.main, './baz.js'); + if (err) return t.fail(err); + t.equal(res, path.resolve('/foo/node_modules/bar/baz.js')); + t.equal(pkg && pkg.main, './baz.js'); }); }); diff --git a/node_modules/resolve/test/mock_sync.js b/node_modules/resolve/test/mock_sync.js index abfd28935..43af10289 100644 --- a/node_modules/resolve/test/mock_sync.js +++ b/node_modules/resolve/test/mock_sync.js @@ -1,35 +1,35 @@ +var path = require('path'); var test = require('tape'); var resolve = require('../'); test('mock', function (t) { t.plan(4); - - var files = { - '/foo/bar/baz.js' : 'beep' - }; - - function opts (basedir) { + + var files = {}; + files[path.resolve('/foo/bar/baz.js')] = 'beep'; + + function opts(basedir) { return { - basedir : basedir, - isFile : function (file) { - return files.hasOwnProperty(file) + basedir: path.resolve(basedir), + isFile: function (file) { + return Object.prototype.hasOwnProperty.call(files, file); }, - readFileSync : function (file) { - return files[file] + readFileSync: function (file) { + return files[file]; } - } + }; } - + t.equal( resolve.sync('./baz', opts('/foo/bar')), - '/foo/bar/baz.js' + path.resolve('/foo/bar/baz.js') ); - + t.equal( resolve.sync('./baz.js', opts('/foo/bar')), - '/foo/bar/baz.js' + path.resolve('/foo/bar/baz.js') ); - + t.throws(function () { resolve.sync('baz', opts('/foo/bar')); }); @@ -41,28 +41,27 @@ test('mock', function (t) { 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) { + + 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 : basedir, - isFile : function (file) { - return files.hasOwnProperty(file) + basedir: path.resolve(basedir), + isFile: function (file) { + return Object.prototype.hasOwnProperty.call(files, file); }, - readFileSync : function (file) { - return files[file] + readFileSync: function (file) { + return files[file]; } - } + }; } - + t.equal( resolve.sync('bar', opts('/foo')), - '/foo/node_modules/bar/baz.js' + path.resolve('/foo/node_modules/bar/baz.js') ); }); diff --git a/node_modules/resolve/test/module_dir.js b/node_modules/resolve/test/module_dir.js index 06395d8cb..b50e5bb17 100644 --- a/node_modules/resolve/test/module_dir.js +++ b/node_modules/resolve/test/module_dir.js @@ -4,53 +4,53 @@ var resolve = require('../'); test('moduleDirectory strings', function (t) { t.plan(4); - var dir = __dirname + '/module_dir'; + var dir = path.join(__dirname, 'module_dir'); var xopts = { - basedir : dir, + basedir: dir, moduleDirectory: 'xmodules' }; resolve('aaa', xopts, function (err, res, pkg) { t.ifError(err); - t.equal(res, dir + '/xmodules/aaa/index.js'); + t.equal(res, path.join(dir, '/xmodules/aaa/index.js')); }); - + var yopts = { - basedir : dir, + basedir: dir, moduleDirectory: 'ymodules' }; resolve('aaa', yopts, function (err, res, pkg) { t.ifError(err); - t.equal(res, dir + '/ymodules/aaa/index.js'); + t.equal(res, path.join(dir, '/ymodules/aaa/index.js')); }); }); test('moduleDirectory array', function (t) { t.plan(6); - var dir = __dirname + '/module_dir'; + var dir = path.join(__dirname, 'module_dir'); var aopts = { - basedir : dir, - moduleDirectory: [ 'xmodules', 'ymodules', 'zmodules' ] + basedir: dir, + moduleDirectory: ['xmodules', 'ymodules', 'zmodules'] }; resolve('aaa', aopts, function (err, res, pkg) { t.ifError(err); - t.equal(res, dir + '/xmodules/aaa/index.js'); + t.equal(res, path.join(dir, '/xmodules/aaa/index.js')); }); - + var bopts = { - basedir : dir, - moduleDirectory: [ 'zmodules', 'ymodules', 'xmodules' ] + basedir: dir, + moduleDirectory: ['zmodules', 'ymodules', 'xmodules'] }; resolve('aaa', bopts, function (err, res, pkg) { t.ifError(err); - t.equal(res, dir + '/ymodules/aaa/index.js'); + t.equal(res, path.join(dir, '/ymodules/aaa/index.js')); }); - + var copts = { - basedir : dir, - moduleDirectory: [ 'xmodules', 'ymodules', 'zmodules' ] + basedir: dir, + moduleDirectory: ['xmodules', 'ymodules', 'zmodules'] }; resolve('bbb', copts, function (err, res, pkg) { t.ifError(err); - t.equal(res, dir + '/zmodules/bbb/main.js'); + t.equal(res, path.join(dir, '/zmodules/bbb/main.js')); }); }); diff --git a/node_modules/resolve/test/module_dir/xmodules/aaa/index.js b/node_modules/resolve/test/module_dir/xmodules/aaa/index.js index 55cd18ca7..dd7cf7b2d 100644 --- a/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +++ b/node_modules/resolve/test/module_dir/xmodules/aaa/index.js @@ -1 +1 @@ -module.exports = function (x) { return x * 100 } +module.exports = function (x) { return x * 100; }; diff --git a/node_modules/resolve/test/module_dir/ymodules/aaa/index.js b/node_modules/resolve/test/module_dir/ymodules/aaa/index.js index 651aca860..ef2d4d4bf 100644 --- a/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +++ b/node_modules/resolve/test/module_dir/ymodules/aaa/index.js @@ -1 +1 @@ -module.exports = function (x) { return x + 100 } +module.exports = function (x) { return x + 100; }; diff --git a/node_modules/resolve/test/module_dir/zmodules/bbb/main.js b/node_modules/resolve/test/module_dir/zmodules/bbb/main.js index 4325a0bd5..e8ba62993 100644 --- a/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +++ b/node_modules/resolve/test/module_dir/zmodules/bbb/main.js @@ -1 +1 @@ -module.exports = function (n) { return n * 111 } +module.exports = function (n) { return n * 111; }; diff --git a/node_modules/resolve/test/node-modules-paths.js b/node_modules/resolve/test/node-modules-paths.js new file mode 100644 index 000000000..a917f063a --- /dev/null +++ b/node_modules/resolve/test/node-modules-paths.js @@ -0,0 +1,93 @@ +var test = require('tape'); +var path = require('path'); +var parse = path.parse || require('path-parse'); +var keys = require('object-keys'); + +var nodeModulesPaths = require('../lib/node-modules-paths'); + +var verifyDirs = function verifyDirs(t, start, dirs, moduleDirectories, paths) { + var moduleDirs = [].concat(moduleDirectories || 'node_modules'); + + var foundModuleDirs = {}; + var uniqueDirs = {}; + var parsedDirs = {}; + for (var i = 0; i < dirs.length; ++i) { + var parsed = parse(dirs[i]); + if (!foundModuleDirs[parsed.base]) { foundModuleDirs[parsed.base] = 0; } + foundModuleDirs[parsed.base] += 1; + parsedDirs[parsed.dir] = true; + uniqueDirs[dirs[i]] = true; + } + t.equal(keys(parsedDirs).length >= start.split(path.sep).length, true, 'there are >= dirs than "start" has'); + var foundModuleDirNames = keys(foundModuleDirs); + t.deepEqual(foundModuleDirNames, moduleDirs.concat(paths || []), 'all desired module dirs were found'); + t.equal(keys(uniqueDirs).length, dirs.length, 'all dirs provided were unique'); + + var counts = {}; + for (var j = 0; j < foundModuleDirNames.length; ++j) { + counts[foundModuleDirs[j]] = true; + } + t.equal(keys(counts).length, 1, 'all found module directories had the same count'); +}; + +test('node-modules-paths', function (t) { + t.test('no options', function (t) { + var start = path.join(__dirname, 'resolver'); + var dirs = nodeModulesPaths(start); + + verifyDirs(t, start, dirs); + + t.end(); + }); + + t.test('empty options', function (t) { + var start = path.join(__dirname, 'resolver'); + var dirs = nodeModulesPaths(start, {}); + + verifyDirs(t, start, dirs); + + t.end(); + }); + + t.test('with paths option', function (t) { + var start = path.join(__dirname, 'resolver'); + var paths = ['a', 'b']; + var dirs = nodeModulesPaths(start, { paths: paths }); + + verifyDirs(t, start, dirs, null, paths); + + t.end(); + }); + + t.test('with moduleDirectory option', function (t) { + var start = path.join(__dirname, 'resolver'); + var moduleDirectory = 'not node modules'; + var dirs = nodeModulesPaths(start, { moduleDirectory: moduleDirectory }); + + verifyDirs(t, start, dirs, moduleDirectory); + + t.end(); + }); + + t.test('with 1 moduleDirectory and paths options', function (t) { + var start = path.join(__dirname, 'resolver'); + var paths = ['a', 'b']; + var moduleDirectory = 'not node modules'; + var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectory }); + + verifyDirs(t, start, dirs, moduleDirectory, paths); + + t.end(); + }); + + t.test('with 1+ moduleDirectory and paths options', function (t) { + var start = path.join(__dirname, 'resolver'); + var paths = ['a', 'b']; + var moduleDirectories = ['not node modules', 'other modules']; + var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories }); + + verifyDirs(t, start, dirs, moduleDirectories, paths); + + t.end(); + }); +}); diff --git a/node_modules/resolve/test/node_path.js b/node_modules/resolve/test/node_path.js index 2407189b8..38a7d7e7d 100644 --- a/node_modules/resolve/test/node_path.js +++ b/node_modules/resolve/test/node_path.js @@ -4,45 +4,46 @@ var resolve = require('../'); test('$NODE_PATH', function (t) { t.plan(4); - + resolve('aaa', { paths: [ - __dirname + '/node_path/x', - __dirname + '/node_path/y' + path.join(__dirname, '/node_path/x'), + path.join(__dirname, '/node_path/y') ], - basedir: __dirname, + basedir: __dirname }, function (err, res) { - t.equal(res, __dirname + '/node_path/x/aaa/index.js'); + t.equal(res, path.join(__dirname, '/node_path/x/aaa/index.js')); }); - + resolve('bbb', { paths: [ - __dirname + '/node_path/x', - __dirname + '/node_path/y' + path.join(__dirname, '/node_path/x'), + path.join(__dirname, '/node_path/y') ], - basedir: __dirname, + basedir: __dirname }, function (err, res) { - t.equal(res, __dirname + '/node_path/y/bbb/index.js'); + t.equal(res, path.join(__dirname, '/node_path/y/bbb/index.js')); }); - + resolve('ccc', { paths: [ - __dirname + '/node_path/x', - __dirname + '/node_path/y' + path.join(__dirname, '/node_path/x'), + path.join(__dirname, '/node_path/y') ], - basedir: __dirname, + basedir: __dirname }, function (err, res) { - t.equal(res, __dirname + '/node_path/x/ccc/index.js'); + t.equal(res, path.join(__dirname, '/node_path/x/ccc/index.js')); }); // ensure that relative paths still resolve against the // regular `node_modules` correctly resolve('tap', { paths: [ - 'node_path', + 'node_path' ], - basedir: 'node_path/x', + basedir: 'node_path/x' }, function (err, res) { - t.equal(res, path.resolve(__dirname, '..', 'node_modules/tap/lib/main.js')); + var root = require('tap/package.json').main; + t.equal(res, path.resolve(__dirname, '..', 'node_modules/tap', root)); }); }); diff --git a/node_modules/resolve/test/node_path/x/aaa/index.js b/node_modules/resolve/test/node_path/x/aaa/index.js index 1ea591380..ad70d0bb0 100644 --- a/node_modules/resolve/test/node_path/x/aaa/index.js +++ b/node_modules/resolve/test/node_path/x/aaa/index.js @@ -1 +1 @@ -module.exports = 'A' +module.exports = 'A'; diff --git a/node_modules/resolve/test/node_path/x/ccc/index.js b/node_modules/resolve/test/node_path/x/ccc/index.js index f186fa757..a64132e4c 100644 --- a/node_modules/resolve/test/node_path/x/ccc/index.js +++ b/node_modules/resolve/test/node_path/x/ccc/index.js @@ -1 +1 @@ -module.exports = 'C' +module.exports = 'C'; diff --git a/node_modules/resolve/test/node_path/y/bbb/index.js b/node_modules/resolve/test/node_path/y/bbb/index.js index e22dd83c0..4d0f32e24 100644 --- a/node_modules/resolve/test/node_path/y/bbb/index.js +++ b/node_modules/resolve/test/node_path/y/bbb/index.js @@ -1 +1 @@ -module.exports = 'B' +module.exports = 'B'; diff --git a/node_modules/resolve/test/node_path/y/ccc/index.js b/node_modules/resolve/test/node_path/y/ccc/index.js index d0043d1ec..793315e84 100644 --- a/node_modules/resolve/test/node_path/y/ccc/index.js +++ b/node_modules/resolve/test/node_path/y/ccc/index.js @@ -1 +1 @@ -module.exports = 'CY' +module.exports = 'CY'; diff --git a/node_modules/resolve/test/pathfilter.js b/node_modules/resolve/test/pathfilter.js index 142f94d65..733045a06 100644 --- a/node_modules/resolve/test/pathfilter.js +++ b/node_modules/resolve/test/pathfilter.js @@ -1,35 +1,42 @@ +var path = require('path'); var test = require('tape'); var resolve = require('../'); -test('#62: deep module references and the pathFilter', function(t){ - t.plan(9); - - var resolverDir = __dirname + '/pathfilter/deep_ref'; - var pathFilter = function(pkg, x, remainder){ - t.equal(pkg.version, "1.2.3"); - t.equal(x, resolverDir + '/node_modules/deep/ref'); - t.equal(remainder, "ref"); - return "alt"; - }; - - resolve('deep/ref', { basedir : resolverDir }, function (err, res, pkg) { - if (err) t.fail(err); +test('#62: deep module references and the pathFilter', function (t) { + t.plan(9); - t.equal(pkg.version, "1.2.3"); - t.equal(res, resolverDir + '/node_modules/deep/ref.js'); - }); + var resolverDir = path.join(__dirname, '/pathfilter/deep_ref'); + var pathFilter = 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'; + }; - resolve('deep/deeper/ref', { basedir: resolverDir }, - function(err, res, pkg) { - if(err) t.fail(err); - t.notEqual(pkg, undefined); - t.equal(pkg.version, "1.2.3"); - t.equal(res, resolverDir + '/node_modules/deep/deeper/ref.js'); - }); - - resolve('deep/ref', { basedir : resolverDir, pathFilter : pathFilter }, - function (err, res, pkg) { + resolve('deep/ref', { basedir: resolverDir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, resolverDir + '/node_modules/deep/alt.js'); + + t.equal(pkg.version, '1.2.3'); + t.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js')); }); + + resolve( + 'deep/deeper/ref', + { basedir: resolverDir }, + function (err, res, pkg) { + if (err) t.fail(err); + t.notEqual(pkg, undefined); + t.equal(pkg.version, '1.2.3'); + t.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js')); + } + ); + + resolve( + 'deep/ref', + { basedir: resolverDir, pathFilter: pathFilter }, + function (err, res, pkg) { + if (err) t.fail(err); + t.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js')); + } + ); }); diff --git a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/alt.js b/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/alt.js deleted file mode 100644 index e69de29bb..000000000 --- a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/alt.js +++ /dev/null diff --git a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/deeper/ref.js b/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/deeper/ref.js deleted file mode 100644 index e69de29bb..000000000 --- a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/deeper/ref.js +++ /dev/null diff --git a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/package.json b/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/package.json deleted file mode 100644 index fe4b408a0..000000000 --- a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "deep", - "version": "1.2.3" -} diff --git a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/ref.js b/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/ref.js deleted file mode 100644 index e69de29bb..000000000 --- a/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/ref.js +++ /dev/null diff --git a/node_modules/resolve/test/precedence.js b/node_modules/resolve/test/precedence.js index c716f0e9f..2febb598f 100644 --- a/node_modules/resolve/test/precedence.js +++ b/node_modules/resolve/test/precedence.js @@ -5,19 +5,19 @@ var resolve = require('../'); test('precedence', function (t) { t.plan(3); var dir = path.join(__dirname, 'precedence/aaa'); - - resolve('./', { basedir : dir }, function (err, res, pkg) { + + resolve('./', { basedir: dir }, function (err, res, pkg) { t.ifError(err); t.equal(res, path.join(dir, 'index.js')); t.equal(pkg.name, 'resolve'); }); }); -test('./ should not load ${dir}.js', function (t) { +test('./ should not load ${dir}.js', function (t) { // eslint-disable-line no-template-curly-in-string t.plan(1); var dir = path.join(__dirname, 'precedence/bbb'); - - resolve('./', { basedir : dir }, function (err, res, pkg) { + + resolve('./', { basedir: dir }, function (err, res, pkg) { t.ok(err); }); }); diff --git a/node_modules/resolve/test/precedence/aaa.js b/node_modules/resolve/test/precedence/aaa.js index a182397c5..b83a3e7ad 100644 --- a/node_modules/resolve/test/precedence/aaa.js +++ b/node_modules/resolve/test/precedence/aaa.js @@ -1 +1 @@ -module.exports = 'wtf' +module.exports = 'wtf'; diff --git a/node_modules/resolve/test/precedence/aaa/index.js b/node_modules/resolve/test/precedence/aaa/index.js index 993b03c2c..e0f8f6abf 100644 --- a/node_modules/resolve/test/precedence/aaa/index.js +++ b/node_modules/resolve/test/precedence/aaa/index.js @@ -1 +1 @@ -module.exports = 'okok' +module.exports = 'okok'; diff --git a/node_modules/resolve/test/precedence/aaa/main.js b/node_modules/resolve/test/precedence/aaa/main.js index db38959d7..93542a965 100644 --- a/node_modules/resolve/test/precedence/aaa/main.js +++ b/node_modules/resolve/test/precedence/aaa/main.js @@ -1 +1 @@ -console.log(require('./')) +console.log(require('./')); diff --git a/node_modules/resolve/test/precedence/bbb.js b/node_modules/resolve/test/precedence/bbb.js index c8a9996b3..2298f47fd 100644 --- a/node_modules/resolve/test/precedence/bbb.js +++ b/node_modules/resolve/test/precedence/bbb.js @@ -1 +1 @@ -module.exports '>_<' +module.exports = '>_<'; diff --git a/node_modules/resolve/test/resolver.js b/node_modules/resolve/test/resolver.js index 5bbb05f90..adde54441 100644 --- a/node_modules/resolve/test/resolver.js +++ b/node_modules/resolve/test/resolver.js @@ -3,279 +3,325 @@ var test = require('tape'); var resolve = require('../'); test('async foo', function (t) { - t.plan(9); - var dir = __dirname + '/resolver'; - - resolve('./foo', { basedir : dir }, function (err, res, pkg) { + t.plan(10); + var dir = path.join(__dirname, 'resolver'); + + resolve('./foo', { basedir: dir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/foo.js'); - t.equal(pkg.name, 'resolve'); + t.equal(res, path.join(dir, 'foo.js')); + t.equal(pkg && pkg.name, 'resolve'); }); - - resolve('./foo.js', { basedir : dir }, function (err, res, pkg) { + + resolve('./foo.js', { basedir: dir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/foo.js'); - t.equal(pkg.name, 'resolve'); + t.equal(res, path.join(dir, 'foo.js')); + t.equal(pkg && pkg.name, 'resolve'); }); - - resolve('./foo', { basedir : dir, package: { main: 'resolver' } }, function (err, res, pkg) { + + resolve('./foo', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/foo.js'); - t.equal(pkg.main, 'resolver'); + t.equal(res, path.join(dir, 'foo.js')); + t.equal(pkg && pkg.main, 'resolver'); }); - - resolve('./foo.js', { basedir : dir, package: { main: 'resolver' } }, function (err, res, pkg) { + + resolve('./foo.js', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/foo.js'); + t.equal(res, path.join(dir, 'foo.js')); t.equal(pkg.main, 'resolver'); }); - - resolve('foo', { basedir : dir }, function (err) { + + resolve('foo', { basedir: dir }, function (err) { t.equal(err.message, "Cannot find module 'foo' from '" + path.resolve(dir) + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); }); test('bar', function (t) { t.plan(6); - var dir = __dirname + '/resolver'; - - resolve('foo', { basedir : dir + '/bar' }, function (err, res, pkg) { + var dir = path.join(__dirname, 'resolver'); + + resolve('foo', { basedir: dir + '/bar' }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/bar/node_modules/foo/index.js'); + t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js')); t.equal(pkg, undefined); }); - - resolve('foo', { basedir : dir + '/bar' }, function (err, res, pkg) { + + resolve('foo', { basedir: dir + '/bar' }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/bar/node_modules/foo/index.js'); + t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js')); t.equal(pkg, undefined); }); - - resolve('foo', { basedir : dir + '/bar', package: { main: 'bar' } }, function (err, res, pkg) { + + resolve('foo', { basedir: dir + '/bar', 'package': { main: 'bar' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/bar/node_modules/foo/index.js'); + t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js')); t.equal(pkg, undefined); }); }); test('baz', function (t) { t.plan(4); - var dir = __dirname + '/resolver'; - - resolve('./baz', { basedir : dir }, function (err, res, pkg) { + var dir = path.join(__dirname, 'resolver'); + + resolve('./baz', { basedir: dir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/baz/quux.js'); + t.equal(res, path.join(dir, 'baz/quux.js')); t.equal(pkg.main, 'quux.js'); }); - - resolve('./baz', { basedir : dir, package: { main: 'resolver' } }, function (err, res, pkg) { + + resolve('./baz', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/baz/quux.js'); + t.equal(res, path.join(dir, 'baz/quux.js')); t.equal(pkg.main, 'quux.js'); }); }); test('biz', function (t) { t.plan(24); - var dir = __dirname + '/resolver/biz/node_modules'; - - resolve('./grux', { basedir : dir }, function (err, res, pkg) { + var dir = path.join(__dirname, 'resolver/biz/node_modules'); + + resolve('./grux', { basedir: dir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/grux/index.js'); + t.equal(res, path.join(dir, 'grux/index.js')); t.equal(pkg, undefined); }); - - resolve('./grux', { basedir : dir, package: { main: 'biz' } }, function (err, res, pkg) { + + resolve('./grux', { basedir: dir, 'package': { main: 'biz' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/grux/index.js'); + t.equal(res, path.join(dir, 'grux/index.js')); t.equal(pkg.main, 'biz'); }); - - resolve('./garply', { basedir : dir }, function (err, res, pkg) { + + resolve('./garply', { basedir: dir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/garply/lib/index.js'); + t.equal(res, path.join(dir, 'garply/lib/index.js')); t.equal(pkg.main, './lib'); }); - - resolve('./garply', { basedir : dir, package: { main: 'biz' } }, function (err, res, pkg) { + + resolve('./garply', { basedir: dir, 'package': { main: 'biz' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/garply/lib/index.js'); + t.equal(res, path.join(dir, 'garply/lib/index.js')); t.equal(pkg.main, './lib'); }); - - resolve('tiv', { basedir : dir + '/grux' }, function (err, res, pkg) { + + resolve('tiv', { basedir: dir + '/grux' }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/tiv/index.js'); + t.equal(res, path.join(dir, 'tiv/index.js')); t.equal(pkg, undefined); }); - - resolve('tiv', { basedir : dir + '/grux', package: { main: 'grux' } }, function (err, res, pkg) { + + resolve('tiv', { basedir: dir + '/grux', 'package': { main: 'grux' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/tiv/index.js'); + t.equal(res, path.join(dir, 'tiv/index.js')); t.equal(pkg, undefined); }); - - resolve('tiv', { basedir : dir + '/garply' }, function (err, res, pkg) { + + resolve('tiv', { basedir: dir + '/garply' }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/tiv/index.js'); + t.equal(res, path.join(dir, 'tiv/index.js')); t.equal(pkg, undefined); }); - - resolve('tiv', { basedir : dir + '/garply', package: { main: './lib' } }, function (err, res, pkg) { + + resolve('tiv', { basedir: dir + '/garply', 'package': { main: './lib' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/tiv/index.js'); + t.equal(res, path.join(dir, 'tiv/index.js')); t.equal(pkg, undefined); }); - - resolve('grux', { basedir : dir + '/tiv' }, function (err, res, pkg) { + + resolve('grux', { basedir: dir + '/tiv' }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/grux/index.js'); + t.equal(res, path.join(dir, 'grux/index.js')); t.equal(pkg, undefined); }); - - resolve('grux', { basedir : dir + '/tiv', package: { main: 'tiv' } }, function (err, res, pkg) { + + resolve('grux', { basedir: dir + '/tiv', 'package': { main: 'tiv' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/grux/index.js'); + t.equal(res, path.join(dir, 'grux/index.js')); t.equal(pkg, undefined); }); - - resolve('garply', { basedir : dir + '/tiv' }, function (err, res, pkg) { + + resolve('garply', { basedir: dir + '/tiv' }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/garply/lib/index.js'); + t.equal(res, path.join(dir, 'garply/lib/index.js')); t.equal(pkg.main, './lib'); }); - - resolve('garply', { basedir : dir + '/tiv', package: { main: 'tiv' } }, function (err, res, pkg) { + + resolve('garply', { basedir: dir + '/tiv', 'package': { main: 'tiv' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/garply/lib/index.js'); + t.equal(res, path.join(dir, 'garply/lib/index.js')); t.equal(pkg.main, './lib'); }); }); test('quux', function (t) { t.plan(2); - var dir = __dirname + '/resolver/quux'; - - resolve('./foo', { basedir : dir, package: { main: 'quux' } }, function (err, res, pkg) { + var dir = path.join(__dirname, 'resolver/quux'); + + resolve('./foo', { basedir: dir, 'package': { main: 'quux' } }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/foo/index.js'); + t.equal(res, path.join(dir, 'foo/index.js')); t.equal(pkg.main, 'quux'); }); }); test('normalize', function (t) { t.plan(2); - var dir = __dirname + '/resolver/biz/node_modules/grux'; - - resolve('../grux', { basedir : dir }, function (err, res, pkg) { + var dir = path.join(__dirname, 'resolver/biz/node_modules/grux'); + + resolve('../grux', { basedir: dir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/index.js'); + t.equal(res, path.join(dir, 'index.js')); t.equal(pkg, undefined); }); }); test('cup', function (t) { - t.plan(3); - var dir = __dirname + '/resolver'; - - resolve('./cup', { basedir : dir, extensions : [ '.js', '.coffee' ] }, - function (err, res) { + t.plan(4); + var dir = path.join(__dirname, 'resolver'); + + resolve('./cup', { basedir: dir, extensions: ['.js', '.coffee'] }, function (err, res) { if (err) t.fail(err); - t.equal(res, dir + '/cup.coffee'); + t.equal(res, path.join(dir, 'cup.coffee')); }); - - resolve('./cup.coffee', { basedir : dir }, function (err, res) { + + resolve('./cup.coffee', { basedir: dir }, function (err, res) { if (err) t.fail(err); - t.equal(res, dir + '/cup.coffee'); + t.equal(res, path.join(dir, 'cup.coffee')); }); - - resolve('./cup', { basedir : dir, extensions : [ '.js' ] }, - function (err, res) { + + resolve('./cup', { basedir: dir, extensions: ['.js'] }, function (err, res) { t.equal(err.message, "Cannot find module './cup' from '" + path.resolve(dir) + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); }); test('mug', function (t) { t.plan(3); - var dir = __dirname + '/resolver'; - - resolve('./mug', { basedir : dir }, function (err, res) { + var dir = path.join(__dirname, 'resolver'); + + resolve('./mug', { basedir: dir }, function (err, res) { if (err) t.fail(err); - t.equal(res, dir + '/mug.js'); + t.equal(res, path.join(dir, 'mug.js')); }); - - resolve('./mug', { basedir : dir, extensions : [ '.coffee', '.js' ] }, - function (err, res) { + + resolve('./mug', { basedir: dir, extensions: ['.coffee', '.js'] }, function (err, res) { if (err) t.fail(err); - t.equal(res, dir + '/mug.coffee'); + t.equal(res, path.join(dir, '/mug.coffee')); }); - - resolve('./mug', { basedir : dir, extensions : [ '.js', '.coffee' ] }, - function (err, res) { - t.equal(res, dir + '/mug.js'); + + resolve('./mug', { basedir: dir, extensions: ['.js', '.coffee'] }, function (err, res) { + t.equal(res, path.join(dir, '/mug.js')); }); }); test('other path', function (t) { - t.plan(4); - var resolverDir = __dirname + '/resolver'; - var dir = resolverDir + '/bar'; - var otherDir = resolverDir + '/other_path'; - - resolve('root', { basedir : dir, paths: [otherDir] }, function (err, res) { + t.plan(6); + var resolverDir = path.join(__dirname, 'resolver'); + var dir = path.join(resolverDir, 'bar'); + var otherDir = path.join(resolverDir, 'other_path'); + + resolve('root', { basedir: dir, paths: [otherDir] }, function (err, res) { if (err) t.fail(err); - t.equal(res, resolverDir + '/other_path/root.js'); + t.equal(res, path.join(resolverDir, 'other_path/root.js')); }); - - resolve('lib/other-lib', { basedir : dir, paths: [otherDir] }, - function (err, res) { + + resolve('lib/other-lib', { basedir: dir, paths: [otherDir] }, function (err, res) { if (err) t.fail(err); - t.equal(res, resolverDir + '/other_path/lib/other-lib.js'); + t.equal(res, path.join(resolverDir, 'other_path/lib/other-lib.js')); }); - - resolve('root', { basedir : dir, }, function (err, res) { + + resolve('root', { basedir: dir }, function (err, res) { t.equal(err.message, "Cannot find module 'root' from '" + path.resolve(dir) + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); - - resolve('zzz', { basedir : dir, paths: [otherDir] }, function (err, res) { + + resolve('zzz', { basedir: dir, paths: [otherDir] }, function (err, res) { t.equal(err.message, "Cannot find module 'zzz' from '" + path.resolve(dir) + "'"); + t.equal(err.code, 'MODULE_NOT_FOUND'); }); }); test('incorrect main', function (t) { - t.plan(1) + t.plan(1); - var resolverDir = __dirname + '/resolver'; - var dir = resolverDir + '/incorrect_main'; + var resolverDir = path.join(__dirname, 'resolver'); + var dir = path.join(resolverDir, 'incorrect_main'); - resolve('./incorrect_main', { basedir : resolverDir }, function (err, res, pkg) { + resolve('./incorrect_main', { basedir: resolverDir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, dir + '/index.js'); + t.equal(res, path.join(dir, 'index.js')); }); }); test('without basedir', function (t) { t.plan(1); - var dir = __dirname + '/resolver/without_basedir'; - var tester = require(dir + '/main.js'); + var dir = path.join(__dirname, 'resolver/without_basedir'); + var tester = require(path.join(dir, 'main.js')); - tester(t, function (err, res, pkg){ + tester(t, function (err, res, pkg) { if (err) { - t.fail(err); - } else { - t.equal(res, dir + '/node_modules/mymodule.js'); - } + t.fail(err); + } else { + t.equal(res, path.join(dir, 'node_modules/mymodule.js')); + } }); }); test('#25: node modules with the same name as node stdlib modules', function (t) { t.plan(1); - var resolverDir = __dirname + '/resolver/punycode'; + var resolverDir = path.join(__dirname, 'resolver/punycode'); - resolve('punycode', { basedir : resolverDir }, function (err, res, pkg) { + resolve('punycode', { basedir: resolverDir }, function (err, res, pkg) { if (err) t.fail(err); - t.equal(res, resolverDir + '/node_modules/punycode/index.js'); + t.equal(res, path.join(resolverDir, 'node_modules/punycode/index.js')); }); }); + +test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) { + t.plan(2); + + var dir = path.join(__dirname, 'resolver'); + + resolve('./foo', { basedir: path.join(dir, 'same_names') }, function (err, res, pkg) { + if (err) t.fail(err); + t.equal(res, path.join(dir, 'same_names/foo.js')); + }); + + resolve('./foo/', { basedir: path.join(dir, 'same_names') }, function (err, res, pkg) { + if (err) t.fail(err); + t.equal(res, path.join(dir, 'same_names/foo/index.js')); + }); +}); + +test('async: #121 - treating an existing file as a dir when no basedir', function (t) { + var testFile = path.basename(__filename); + + t.test('sanity check', function (st) { + st.plan(1); + resolve('./' + testFile, function (err, res, pkg) { + if (err) t.fail(err); + st.equal(res, __filename, 'sanity check'); + }); + }); + + t.test('with a fake directory', function (st) { + st.plan(4); + + resolve('./' + testFile + '/blah', function (err, res, pkg) { + st.ok(err, 'there is an error'); + st.notOk(res, 'no result'); + + st.equal(err && err.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve'); + st.equal( + err && err.message, + 'Cannot find module \'./' + testFile + '/blah\' from \'' + __dirname + '\'', + 'can not find nonexistent module' + ); + st.end(); + }); + }); + + t.end(); +}); diff --git a/node_modules/resolve/test/resolver/baz/package.json b/node_modules/resolve/test/resolver/baz/package.json index 6b81dcddf..c41e4dbf7 100644 --- a/node_modules/resolve/test/resolver/baz/package.json +++ b/node_modules/resolve/test/resolver/baz/package.json @@ -1,3 +1,3 @@ { - "main" : "quux.js" + "main": "quux.js" } diff --git a/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js b/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js deleted file mode 100644 index 0379e29f7..000000000 --- a/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'hello garply'; diff --git a/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json b/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json deleted file mode 100644 index babaac58f..000000000 --- a/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main" : "./lib" -} diff --git a/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js b/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js deleted file mode 100644 index 49960555a..000000000 --- a/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('tiv') * 100; diff --git a/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js b/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js deleted file mode 100644 index 690aad34a..000000000 --- a/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 3; diff --git a/node_modules/resolve/test/resolver/incorrect_main/package.json b/node_modules/resolve/test/resolver/incorrect_main/package.json index 1592ed393..b71880417 100644 --- a/node_modules/resolve/test/resolver/incorrect_main/package.json +++ b/node_modules/resolve/test/resolver/incorrect_main/package.json @@ -1,3 +1,3 @@ { - "main" : "wrong.js" + "main": "wrong.js" } diff --git a/node_modules/resolve/test/resolver/punycode/node_modules/punycode/index.js b/node_modules/resolve/test/resolver/punycode/node_modules/punycode/index.js deleted file mode 100644 index e69de29bb..000000000 --- a/node_modules/resolve/test/resolver/punycode/node_modules/punycode/index.js +++ /dev/null diff --git a/node_modules/resolve/test/resolver/same_names/foo.js b/node_modules/resolve/test/resolver/same_names/foo.js new file mode 100644 index 000000000..888cae37a --- /dev/null +++ b/node_modules/resolve/test/resolver/same_names/foo.js @@ -0,0 +1 @@ +module.exports = 42; diff --git a/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js b/node_modules/resolve/test/resolver/same_names/foo/index.js index bd816eaba..bd816eaba 100644 --- a/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js +++ b/node_modules/resolve/test/resolver/same_names/foo/index.js diff --git a/node_modules/resolve/test/resolver/without_basedir/main.js b/node_modules/resolve/test/resolver/without_basedir/main.js index 5f211e9ca..5b31975be 100644 --- a/node_modules/resolve/test/resolver/without_basedir/main.js +++ b/node_modules/resolve/test/resolver/without_basedir/main.js @@ -1,6 +1,5 @@ -resolve = require('../../../'); - -module.exports = function(t, cb) { - resolve('mymodule', null, cb); -} +var resolve = require('../../../'); +module.exports = function (t, cb) { + resolve('mymodule', null, cb); +}; diff --git a/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js b/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js deleted file mode 100644 index 2b58aa408..000000000 --- a/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.- E. Dijkstra" diff --git a/node_modules/resolve/test/resolver_sync.js b/node_modules/resolve/test/resolver_sync.js index 598253171..2bc361020 100644 --- a/node_modules/resolve/test/resolver_sync.js +++ b/node_modules/resolve/test/resolver_sync.js @@ -1,180 +1,253 @@ +var path = require('path'); var test = require('tape'); var resolve = require('../'); test('foo', function (t) { - var dir = __dirname + '/resolver'; - + var dir = path.join(__dirname, 'resolver'); + t.equal( - resolve.sync('./foo', { basedir : dir }), - dir + '/foo.js' + resolve.sync('./foo', { basedir: dir }), + path.join(dir, 'foo.js') ); - + t.equal( - resolve.sync('./foo.js', { basedir : dir }), - dir + '/foo.js' + resolve.sync('./foo.js', { basedir: dir }), + path.join(dir, 'foo.js') ); - + t.throws(function () { - resolve.sync('foo', { basedir : dir }); + resolve.sync('foo', { basedir: dir }); }); - + t.end(); }); test('bar', function (t) { - var dir = __dirname + '/resolver'; - + var dir = path.join(__dirname, 'resolver'); + t.equal( - resolve.sync('foo', { basedir : dir + '/bar' }), - dir + '/bar/node_modules/foo/index.js' + resolve.sync('foo', { basedir: path.join(dir, 'bar') }), + path.join(dir, 'bar/node_modules/foo/index.js') ); t.end(); }); test('baz', function (t) { - var dir = __dirname + '/resolver'; - + var dir = path.join(__dirname, 'resolver'); + t.equal( - resolve.sync('./baz', { basedir : dir }), - dir + '/baz/quux.js' + resolve.sync('./baz', { basedir: dir }), + path.join(dir, 'baz/quux.js') ); t.end(); }); test('biz', function (t) { - var dir = __dirname + '/resolver/biz/node_modules'; + var dir = path.join(__dirname, 'resolver/biz/node_modules'); t.equal( - resolve.sync('./grux', { basedir : dir }), - dir + '/grux/index.js' + resolve.sync('./grux', { basedir: dir }), + path.join(dir, 'grux/index.js') ); - + t.equal( - resolve.sync('tiv', { basedir : dir + '/grux' }), - dir + '/tiv/index.js' + resolve.sync('tiv', { basedir: path.join(dir, 'grux') }), + path.join(dir, 'tiv/index.js') ); - + t.equal( - resolve.sync('grux', { basedir : dir + '/tiv' }), - dir + '/grux/index.js' + resolve.sync('grux', { basedir: path.join(dir, 'tiv') }), + path.join(dir, 'grux/index.js') ); t.end(); }); test('normalize', function (t) { - var dir = __dirname + '/resolver/biz/node_modules/grux'; + var dir = path.join(__dirname, 'resolver/biz/node_modules/grux'); t.equal( - resolve.sync('../grux', { basedir : dir }), - dir + '/index.js' + resolve.sync('../grux', { basedir: dir }), + path.join(dir, 'index.js') ); t.end(); }); test('cup', function (t) { - var dir = __dirname + '/resolver'; + var dir = path.join(__dirname, 'resolver'); t.equal( resolve.sync('./cup', { - basedir : dir, - extensions : [ '.js', '.coffee' ] + basedir: dir, + extensions: ['.js', '.coffee'] }), - dir + '/cup.coffee' + path.join(dir, 'cup.coffee') ); - + t.equal( - resolve.sync('./cup.coffee', { - basedir : dir - }), - dir + '/cup.coffee' + resolve.sync('./cup.coffee', { basedir: dir }), + path.join(dir, 'cup.coffee') ); - + t.throws(function () { resolve.sync('./cup', { - basedir : dir, - extensions : [ '.js' ] - }) + basedir: dir, + extensions: ['.js'] + }); }); - + t.end(); }); test('mug', function (t) { - var dir = __dirname + '/resolver'; + var dir = path.join(__dirname, 'resolver'); t.equal( - resolve.sync('./mug', { basedir : dir }), - dir + '/mug.js' + resolve.sync('./mug', { basedir: dir }), + path.join(dir, 'mug.js') ); - + t.equal( resolve.sync('./mug', { - basedir : dir, - extensions : [ '.coffee', '.js' ] + basedir: dir, + extensions: ['.coffee', '.js'] }), - dir + '/mug.coffee' + path.join(dir, 'mug.coffee') ); - + t.equal( resolve.sync('./mug', { - basedir : dir, - extensions : [ '.js', '.coffee' ] + basedir: dir, + extensions: ['.js', '.coffee'] }), - dir + '/mug.js' + path.join(dir, 'mug.js') ); - + t.end(); }); test('other path', function (t) { - var resolverDir = __dirname + '/resolver'; - var dir = resolverDir + '/bar'; - var otherDir = resolverDir + '/other_path'; + var resolverDir = path.join(__dirname, 'resolver'); + var dir = path.join(resolverDir, 'bar'); + var otherDir = path.join(resolverDir, 'other_path'); - var path = require('path'); - t.equal( resolve.sync('root', { - basedir : dir, - paths: [otherDir] }), - resolverDir + '/other_path/root.js' + basedir: dir, + paths: [otherDir] + }), + path.join(resolverDir, 'other_path/root.js') ); - + t.equal( resolve.sync('lib/other-lib', { - basedir : dir, - paths: [otherDir] }), - resolverDir + '/other_path/lib/other-lib.js' + basedir: dir, + paths: [otherDir] + }), + path.join(resolverDir, 'other_path/lib/other-lib.js') ); t.throws(function () { - resolve.sync('root', { basedir : dir, }); + resolve.sync('root', { basedir: dir }); }); - + t.throws(function () { resolve.sync('zzz', { - basedir : dir, - paths: [otherDir] }); + basedir: dir, + paths: [otherDir] + }); }); - + t.end(); }); test('incorrect main', function (t) { - var resolverDir = __dirname + '/resolver'; - var dir = resolverDir + '/incorrect_main'; + var resolverDir = path.join(__dirname, 'resolver'); + var dir = path.join(resolverDir, 'incorrect_main'); t.equal( - resolve.sync('./incorrect_main', { basedir : resolverDir }), - dir + '/index.js' - ) + resolve.sync('./incorrect_main', { basedir: resolverDir }), + path.join(dir, 'index.js') + ); - t.end() + t.end(); }); test('#25: node modules with the same name as node stdlib modules', function (t) { - var resolverDir = __dirname + '/resolver/punycode'; + var resolverDir = path.join(__dirname, 'resolver/punycode'); + + t.equal( + resolve.sync('punycode', { basedir: resolverDir }), + path.join(resolverDir, 'node_modules/punycode/index.js') + ); + + t.end(); +}); + +var stubStatSync = function stubStatSync(fn) { + var fs = require('fs'); + var statSync = fs.statSync; + try { + fs.statSync = function () { + throw new EvalError('Unknown Error'); + }; + return fn(); + } finally { + fs.statSync = statSync; + } +}; + +test('#79 - re-throw non ENOENT errors from stat', function (t) { + var dir = path.join(__dirname, 'resolver'); + + stubStatSync(function () { + t.throws(function () { + resolve.sync('foo', { basedir: dir }); + }, /Unknown Error/); + }); + t.end(); +}); + +test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) { + var dir = path.join(__dirname, 'resolver'); + + t.equal( + resolve.sync('./foo', { basedir: path.join(dir, 'same_names') }), + path.join(dir, 'same_names/foo.js') + ); t.equal( - resolve.sync('punycode', { basedir : resolverDir }), - resolverDir + '/node_modules/punycode/index.js' - ) + resolve.sync('./foo/', { basedir: path.join(dir, 'same_names') }), + path.join(dir, 'same_names/foo/index.js') + ); + t.end(); +}); + +test('sync: #121 - treating an existing file as a dir when no basedir', function (t) { + var testFile = path.basename(__filename); + + t.test('sanity check', function (st) { + st.equal( + resolve.sync('./' + testFile), + __filename, + 'sanity check' + ); + st.end(); + }); - t.end() + t.test('with a fake directory', function (st) { + function run() { return resolve.sync('./' + testFile + '/blah'); } + + st.throws(run, 'throws an error'); + + try { + run(); + } catch (e) { + st.equal(e.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve'); + st.equal( + e.message, + 'Cannot find module \'./' + testFile + '/blah\' from \'' + __dirname + '\'', + 'can not find nonexistent module' + ); + } + + st.end(); + }); + + t.end(); }); diff --git a/node_modules/resolve/test/subdirs.js b/node_modules/resolve/test/subdirs.js index 957abfe0c..b7b8450a9 100644 --- a/node_modules/resolve/test/subdirs.js +++ b/node_modules/resolve/test/subdirs.js @@ -4,7 +4,7 @@ var path = require('path'); test('subdirs', function (t) { t.plan(2); - + var dir = path.join(__dirname, '/subdirs'); resolve('a/b/c/x.json', { basedir: dir }, function (err, res) { t.ifError(err); diff --git a/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json b/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json deleted file mode 100644 index 3cc0ecbed..000000000 --- a/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json +++ /dev/null @@ -1 +0,0 @@ -[1,2,3] diff --git a/node_modules/resolve/test/subdirs/node_modules/a/package.json b/node_modules/resolve/test/subdirs/node_modules/a/package.json deleted file mode 100644 index 0967ef424..000000000 --- a/node_modules/resolve/test/subdirs/node_modules/a/package.json +++ /dev/null @@ -1 +0,0 @@ -{} |