diff --git a/test/resolver.js b/test/resolver.js index 5c2cfc5..201e183 100644 --- a/test/resolver.js +++ b/test/resolver.js @@ -494,3 +494,38 @@ test('browser field in package.json', function (t) { } ); }); + +test('absolute paths', function (t) { + t.plan(4); + + var extensionless = __filename.slice(0, -path.extname(__filename).length); + + resolve(__filename, function (err, res) { + t.equal( + res, + __filename, + 'absolute path to this file resolves' + ); + }); + resolve(extensionless, function (err, res) { + t.equal( + res, + __filename, + 'extensionless absolute path to this file resolves' + ); + }); + resolve(__filename, { basedir: process.cwd() }, function (err, res) { + t.equal( + res, + __filename, + 'absolute path to this file with a basedir resolves' + ); + }); + resolve(extensionless, { basedir: process.cwd() }, function (err, res) { + t.equal( + res, + __filename, + 'extensionless absolute path to this file with a basedir resolves' + ); + }); +}); diff --git a/test/resolver_sync.js b/test/resolver_sync.js index 2bd7ab0..52535f1 100644 --- a/test/resolver_sync.js +++ b/test/resolver_sync.js @@ -356,3 +356,30 @@ test('browser field in package.json', function (t) { t.equal(res, path.join(dir, 'browser_field', 'b.js')); t.end(); }); + +test('absolute paths', function (t) { + var extensionless = __filename.slice(0, -path.extname(__filename).length); + + t.equal( + resolve.sync(__filename), + __filename, + 'absolute path to this file resolves' + ); + t.equal( + resolve.sync(extensionless), + __filename, + 'extensionless absolute path to this file resolves' + ); + t.equal( + resolve.sync(__filename, { basedir: process.cwd() }), + __filename, + 'absolute path to this file with a basedir resolves' + ); + t.equal( + resolve.sync(extensionless, { basedir: process.cwd() }), + __filename, + 'extensionless absolute path to this file with a basedir resolves' + ); + + t.end(); +});