diff --git a/src/node.js b/src/node.js index 2833a03f26..752a2a3cc9 100644 --- a/src/node.js +++ b/src/node.js @@ -342,7 +342,7 @@ function loadModule (request, parent) { debug("loadModule REQUEST " + JSON.stringify(request) + " parent: " + JSON.stringify(parent)); var id, paths; - if (request.charAt(0) == "." && request.charAt(1) == "/") { + if (request.charAt(0) == "." && (request.charAt(1) == "/" || request.charAt(1) == ".")) { // Relative request id = path.join(path.dirname(parent.id), request); paths = [path.dirname(parent.filename)]; diff --git a/test/mjsunit/test-module-loading.js b/test/mjsunit/test-module-loading.js index 769c1b45ab..7670837985 100644 --- a/test/mjsunit/test-module-loading.js +++ b/test/mjsunit/test-module-loading.js @@ -5,7 +5,10 @@ debug("load test-module-loading.js"); var a = require("./fixtures/a"); var d = require("./fixtures/b/d"); var d2 = require("./fixtures/b/d"); +// Absolute var d3 = require(require('path').dirname(__filename)+"/fixtures/b/d"); +// Relative +var d4 = require("../mjsunit/fixtures/b/d"); assertFalse(false, "testing the test program."); @@ -27,6 +30,9 @@ assertEquals("D", d2.D()); assertInstanceof(d3.D, Function); assertEquals("D", d3.D()); +assertInstanceof(d4.D, Function); +assertEquals("D", d4.D()); + process.addListener("exit", function () { assertInstanceof(a.A, Function); assertEquals("A done", a.A());