aboutsummaryrefslogtreecommitdiff
path: root/node_modules/resolve/test
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-28 00:38:50 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-28 00:40:43 +0200
commit7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 (patch)
tree6de9a1aebd150a23b7f8c273ec657a5d0a18fe3e /node_modules/resolve/test
parent963b7a41feb29cc4be090a2446bdfe0c1f1bcd81 (diff)
downloadwallet-core-7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027.tar.xz
add linting (and some initial fixes)
Diffstat (limited to 'node_modules/resolve/test')
-rw-r--r--node_modules/resolve/test/core.js29
-rw-r--r--node_modules/resolve/test/dotdot.js28
-rw-r--r--node_modules/resolve/test/dotdot/index.js2
-rw-r--r--node_modules/resolve/test/faulty_basedir.js8
-rw-r--r--node_modules/resolve/test/filter.js9
-rw-r--r--node_modules/resolve/test/filter_sync.js11
-rw-r--r--node_modules/resolve/test/mock.js175
-rw-r--r--node_modules/resolve/test/mock_sync.js67
-rw-r--r--node_modules/resolve/test/module_dir.js36
-rw-r--r--node_modules/resolve/test/module_dir/xmodules/aaa/index.js2
-rw-r--r--node_modules/resolve/test/module_dir/ymodules/aaa/index.js2
-rw-r--r--node_modules/resolve/test/module_dir/zmodules/bbb/main.js2
-rw-r--r--node_modules/resolve/test/node-modules-paths.js93
-rw-r--r--node_modules/resolve/test/node_path.js37
-rw-r--r--node_modules/resolve/test/node_path/x/aaa/index.js2
-rw-r--r--node_modules/resolve/test/node_path/x/ccc/index.js2
-rw-r--r--node_modules/resolve/test/node_path/y/bbb/index.js2
-rw-r--r--node_modules/resolve/test/node_path/y/ccc/index.js2
-rw-r--r--node_modules/resolve/test/pathfilter.js61
-rw-r--r--node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/alt.js0
-rw-r--r--node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/deeper/ref.js0
-rw-r--r--node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/package.json4
-rw-r--r--node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/ref.js0
-rw-r--r--node_modules/resolve/test/precedence.js10
-rw-r--r--node_modules/resolve/test/precedence/aaa.js2
-rw-r--r--node_modules/resolve/test/precedence/aaa/index.js2
-rw-r--r--node_modules/resolve/test/precedence/aaa/main.js2
-rw-r--r--node_modules/resolve/test/precedence/bbb.js2
-rw-r--r--node_modules/resolve/test/resolver.js316
-rw-r--r--node_modules/resolve/test/resolver/baz/package.json2
-rw-r--r--node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js1
-rw-r--r--node_modules/resolve/test/resolver/biz/node_modules/garply/package.json3
-rw-r--r--node_modules/resolve/test/resolver/biz/node_modules/grux/index.js1
-rw-r--r--node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js1
-rw-r--r--node_modules/resolve/test/resolver/incorrect_main/package.json2
-rw-r--r--node_modules/resolve/test/resolver/punycode/node_modules/punycode/index.js0
-rw-r--r--node_modules/resolve/test/resolver/same_names/foo.js1
-rw-r--r--node_modules/resolve/test/resolver/same_names/foo/index.js (renamed from node_modules/resolve/test/resolver/bar/node_modules/foo/index.js)0
-rw-r--r--node_modules/resolve/test/resolver/without_basedir/main.js9
-rw-r--r--node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js1
-rw-r--r--node_modules/resolve/test/resolver_sync.js241
-rw-r--r--node_modules/resolve/test/subdirs.js2
-rw-r--r--node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json1
-rw-r--r--node_modules/resolve/test/subdirs/node_modules/a/package.json1
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 @@
-{}