paths = [''];
}
+ var trailingSlash = (request.slice(-1) === '/');
+
// check if the file exists and is not a directory
function tryFile(requestPath) {
try {
// For each path
for (var i = 0, PL = paths.length; i < PL; i++) {
var basePath = path.resolve(paths[i], request);
+ var filename;
- // try to join the request to the path
- var filename = tryFile(basePath);
+ if (!trailingSlash) {
+ // try to join the request to the path
+ filename = tryFile(basePath);
- if (!filename) {
- // try it with each of the extensions
- filename = tryExtensions(basePath);
+ if (!filename && !trailingSlash) {
+ // try it with each of the extensions
+ filename = tryExtensions(basePath);
+ }
}
if (!filename) {
two = require('../fixtures/nested-index/two');
assert.notEqual(one.hello, two.hello);
+common.debug('test index.js in a folder with a trailing slash');
+var three = require('../fixtures/nested-index/three'),
+ threeFolder = require('../fixtures/nested-index/three/'),
+ threeIndex = require('../fixtures/nested-index/three/index.js');
+assert.equal(threeFolder, threeIndex);
+assert.notEqual(threeFolder, three);
+
common.debug('test cycles containing a .. path');
var root = require('../fixtures/cycles/root'),
foo = require('../fixtures/cycles/folder/foo');