From b581934dbf14294312cccaeb4a7d73a03924d30d Mon Sep 17 00:00:00 2001 From: fresheneesz Date: Tue, 16 Sep 2014 12:14:20 -0700 Subject: [PATCH 1/2] fixing bug: issue 51 --- .gitignore | 2 ++ lib/async.js | 4 +++- lib/sync.js | 2 +- test/issue51.js | 12 ++++++++++++ test/issue51/moo.js | 1 + test/issue51/test.js | 1 + test/issue51/test/index.js | 1 + 7 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 test/issue51.js create mode 100644 test/issue51/moo.js create mode 100644 test/issue51/test.js create mode 100644 test/issue51/test/index.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5171c540 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +npm-debug.log \ No newline at end of file diff --git a/lib/async.js b/lib/async.js index 83b2c6c4..b5977552 100644 --- a/lib/async.js +++ b/lib/async.js @@ -32,7 +32,8 @@ module.exports = function resolve (x, opts, cb) { if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[\\\/])/.test(x)) { var res = path.resolve(y, x); - if (x === '..') res += '/'; + if (x === '..' || x[x.length-1] === '/') res += path.sep; + console.log('res: '+res) loadAsFile(res, function (err, m, pkg) { if (err) cb(err) else if (m) cb(null, m, pkg) @@ -59,6 +60,7 @@ module.exports = function resolve (x, opts, cb) { (function load (exts) { if (exts.length === 0) return cb(null, undefined, pkg); var file = x + exts[0]; + console.log('file: '+file) isFile(file, function (err, ex) { if (err) cb(err) diff --git a/lib/sync.js b/lib/sync.js index ef91eddb..24836181 100644 --- a/lib/sync.js +++ b/lib/sync.js @@ -20,7 +20,7 @@ module.exports = function (x, opts) { if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[\\\/])/.test(x)) { var res = path.resolve(y, x); - if (x === '..') res += '/'; + if (x === '..' || x[x.length-1] === '/') res += path.sep; var m = loadAsFileSync(res) || loadAsDirectorySync(res); if (m) return m; } else { diff --git a/test/issue51.js b/test/issue51.js new file mode 100644 index 00000000..0a62af21 --- /dev/null +++ b/test/issue51.js @@ -0,0 +1,12 @@ +var test = require('tap').test; +var resolve = require('../'); +var path = require('path') + +test('issue 51', function (t) { + t.ok(resolve.sync('./issue51/test/') === path.resolve(__dirname, 'issue51/test/index.js')); + resolve('./issue51/test/', function(e, result) { + if(e) throw e + t.ok(result === path.resolve(__dirname, 'issue51/test/index.js')); + t.end(); + }) +}); diff --git a/test/issue51/moo.js b/test/issue51/moo.js new file mode 100644 index 00000000..5f5ab2ee --- /dev/null +++ b/test/issue51/moo.js @@ -0,0 +1 @@ +require('./test/') \ No newline at end of file diff --git a/test/issue51/test.js b/test/issue51/test.js new file mode 100644 index 00000000..b22d07bc --- /dev/null +++ b/test/issue51/test.js @@ -0,0 +1 @@ +console.log('file') \ No newline at end of file diff --git a/test/issue51/test/index.js b/test/issue51/test/index.js new file mode 100644 index 00000000..9525d959 --- /dev/null +++ b/test/issue51/test/index.js @@ -0,0 +1 @@ +console.log('folder') \ No newline at end of file From a5151f0fbeb235e3290d9b84ea706bc72bcec94b Mon Sep 17 00:00:00 2001 From: fresheneesz Date: Tue, 16 Sep 2014 12:17:01 -0700 Subject: [PATCH 2/2] rm console logs --- lib/async.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/async.js b/lib/async.js index b5977552..3f11fb5c 100644 --- a/lib/async.js +++ b/lib/async.js @@ -33,7 +33,6 @@ module.exports = function resolve (x, opts, cb) { if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[\\\/])/.test(x)) { var res = path.resolve(y, x); if (x === '..' || x[x.length-1] === '/') res += path.sep; - console.log('res: '+res) loadAsFile(res, function (err, m, pkg) { if (err) cb(err) else if (m) cb(null, m, pkg) @@ -60,7 +59,6 @@ module.exports = function resolve (x, opts, cb) { (function load (exts) { if (exts.length === 0) return cb(null, undefined, pkg); var file = x + exts[0]; - console.log('file: '+file) isFile(file, function (err, ex) { if (err) cb(err)