From 759d492cb0462de025fc5d211163e26af2d16197 Mon Sep 17 00:00:00 2001 From: Nadav Dav Date: Fri, 9 Aug 2013 17:07:57 +0300 Subject: [PATCH] fixed a bug causing to fail rekuiring coffee files without extensions specified --- lib/main.js | 13 +++---------- test/rekuire.spec.js | 8 ++++++++ test/testResources/nestedPackage/cup.coffee | 1 + 3 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 test/testResources/nestedPackage/cup.coffee diff --git a/lib/main.js b/lib/main.js index 13de6e3..29d7ad6 100755 --- a/lib/main.js +++ b/lib/main.js @@ -49,16 +49,14 @@ function getModule(requirement){ var modulePath = null; var error = ""; - var requirementJs = hasKnownExtension( requirement ) ? requirement : requirement+".js"; - if (ambiguousFileNames[requirement] !== undefined){ throw new Error('Ambiguity Error: There are more then one files that is named '+requirement); } - if ( filesInProject[requirementJs] !== undefined){ + if ( filesInProject[requirement] !== undefined){ // User typed in a relative path - retModule = parentReq(filesInProject[requirementJs]); - modulePath = filesInProject[requirementJs]; + retModule = parentReq(filesInProject[requirement]); + modulePath = filesInProject[requirement]; }else{ // User typed in a module name modulePath = path.normalize(calleePath+"/"+requirement); @@ -84,8 +82,3 @@ function getModule(requirement){ } return { module: retModule, path: modulePath}; } - -function hasKnownExtension( requirement ){ - return requirement.toLowerCase().match( new RegExp( extensions.join( "|" ) + "$" ) ); -} - diff --git a/test/rekuire.spec.js b/test/rekuire.spec.js index f3931cb..e795f47 100755 --- a/test/rekuire.spec.js +++ b/test/rekuire.spec.js @@ -55,6 +55,14 @@ describe("Testing 'rekuire'",function(){ expect(imported).toEqual({"someKey":"someValue"}); }); + it("should retrieve it according to the file name (*.coffee)",function(){ + var rek = require('rekuire'); + var withExt = rek('cup.coffee'); + var withoutExt = rek('cup'); + expect(withExt ).toEqual("cup of coffee") + expect(withExt ).toEqual(withoutExt ); + }); + it("should get module by name even if extension not present",function(){ var rek = require('rekuire'); var jsModule = rek('someModule'); diff --git a/test/testResources/nestedPackage/cup.coffee b/test/testResources/nestedPackage/cup.coffee new file mode 100644 index 0000000..38cf5ce --- /dev/null +++ b/test/testResources/nestedPackage/cup.coffee @@ -0,0 +1 @@ +module.exports = "cup of coffee" \ No newline at end of file