module: assert that require() is called with a string

as requested in #4577
This commit is contained in:
Felix Böhm
2013-01-16 19:53:16 +01:00
committed by isaacs
parent b9ffc537e6
commit 7465cf911a
2 changed files with 10 additions and 0 deletions

View File

@@ -359,6 +359,7 @@ Module.prototype.load = function(filename) {
Module.prototype.require = function(path) {
assert(typeof path === 'string', 'path must be a string');
assert(path, 'missing path');
return Module._load(path, this);
};

View File

@@ -295,3 +295,12 @@ process.on('exit', function() {
// #1440 Loading files with a byte order marker.
assert.equal(42, require('../fixtures/utf8-bom.js'));
assert.equal(42, require('../fixtures/utf8-bom.json'));
// require() must take string, and must be truthy
assert.throws(function() {
require({ foo: 'bar' });
}, 'path must be a string');
assert.throws(function() {
require(false);
}, 'missing path');