node/test/parallel/test-require-exceptions.js
Michaël Zasso 75487f0db8 module: fix resolution of filename with trailing slash
A recent optimization of module loading performance [1] forgot to check that
extensions were set in a certain code path.

[1] ae18bbef48

Fixes: https://github.com/nodejs/node/issues/6214
PR-URL: https://github.com/nodejs/node/pull/6215
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-04-20 09:45:57 -07:00

35 lines
995 B
JavaScript

'use strict';
var common = require('../common');
var assert = require('assert');
// A module with an error in it should throw
assert.throws(function() {
require(common.fixturesDir + '/throws_error');
});
// Requiring the same module again should throw as well
assert.throws(function() {
require(common.fixturesDir + '/throws_error');
});
// Requiring a module that does not exist should throw an
// error with its `code` set to MODULE_NOT_FOUND
assertModuleNotFound('/DOES_NOT_EXIST');
assertExists('/module-require/not-found/trailingSlash.js');
assertExists('/module-require/not-found/node_modules/module1/package.json');
assertModuleNotFound('/module-require/not-found/trailingSlash');
function assertModuleNotFound(path) {
assert.throws(function() {
require(common.fixturesDir + path);
}, function(e) {
assert.strictEqual(e.code, 'MODULE_NOT_FOUND');
return true;
});
}
function assertExists(fixture) {
assert(common.fileExists(common.fixturesDir + fixture));
}