node/test/parallel/test-module-relative-lookup.js
João Reis b36c581d5b module: accept Windows relative path
Before this change, require('.\\test.js') failed while
require('./test.js') succeeded. This changes _resolveLookupPaths so
that both ways are accepted on Windows.

Fixes: https://github.com/nodejs/node/issues/21918
PR-URL: https://github.com/nodejs/node/pull/22186
Reviewed-By: Phillip Johnsen <johphi@gmail.com>
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2018-09-12 03:32:05 +01:00

26 lines
756 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const _module = require('module'); // avoid collision with global.module
// Current directory gets highest priority for local modules
function testFirstInPath(moduleName, isLocalModule) {
const assertFunction = isLocalModule ?
assert.strictEqual :
assert.notStrictEqual;
const lookupResults = _module._resolveLookupPaths(moduleName);
let paths = lookupResults[1];
assertFunction(paths[0], '.');
paths = _module._resolveLookupPaths(moduleName, null, true);
assertFunction(paths && paths[0], '.');
}
testFirstInPath('./lodash', true);
// Relative path on Windows, but a regular file name elsewhere
testFirstInPath('.\\lodash', common.isWindows);