Comparing version 0.0.3 to 0.0.4
@@ -27,3 +27,8 @@ var context; | ||
} else { | ||
requiredModules.push(context.require(toRequire)[subModule]); | ||
var modules = subModule.split('.'); | ||
if(modules.length === 2) { | ||
requiredModules.push(context.require(toRequire)[modules[0]][modules[1]]); | ||
} else { | ||
requiredModules.push(context.require(toRequire)[subModule]); | ||
} | ||
} | ||
@@ -30,0 +35,0 @@ }); |
{ | ||
"name": "them", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Easier node require", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -6,3 +6,5 @@ var them = require("../lib/index.js"), | ||
var fakeModule = { | ||
SubClass: {} | ||
SubClass: { | ||
SubSub: {} | ||
} | ||
}; | ||
@@ -110,2 +112,16 @@ var fakeModule2 = {}; | ||
it('should require sub-submodule', function() { | ||
// given | ||
them.init(fakeContext, { | ||
name: "module#SubClass.SubSub" | ||
}); | ||
// when | ||
them(function(name) { | ||
expect(name).to.equal(fakeModule.SubClass.SubSub); | ||
}); | ||
// then | ||
expect(fakeContext.require.calledOnce).to.be.true; | ||
expect(fakeContext.require.calledWith("module")).to.be.true; | ||
}); | ||
it('should require local module from ./lib by default', function() { | ||
@@ -112,0 +128,0 @@ // given |
10124
239