From e3bbeb4feb3819e5ce19e24d4d1d28362bc35399 Mon Sep 17 00:00:00 2001 From: Dane Stuckel Date: Mon, 29 Jun 2015 22:48:56 -0400 Subject: [PATCH] fix bad name get --- lib/files.js | 3 +++ lib/services/components.js | 3 ++- lib/services/components.test.js | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/files.js b/lib/files.js index ebdfb6d8..285589c8 100644 --- a/lib/files.js +++ b/lib/files.js @@ -119,6 +119,9 @@ function tryRequire(name, paths) { try { result = require(path); } catch (ex) { + if (ex.message && !ex.message.match(/Cannot find module/i)) { + throw ex; + } result = false; } return result; diff --git a/lib/services/components.js b/lib/services/components.js index 34553167..235c94b3 100644 --- a/lib/services/components.js +++ b/lib/services/components.js @@ -38,7 +38,8 @@ function getName(ref) { */ function get(ref, locals) { var promise, - componentModule = files.getComponentModule(getName(ref)); + name = getName(ref), + componentModule = name && files.getComponentModule(name); if (_.isFunction(componentModule)) { promise = componentModule(ref, locals); diff --git a/lib/services/components.test.js b/lib/services/components.test.js index dd039b80..068c35fe 100644 --- a/lib/services/components.test.js +++ b/lib/services/components.test.js @@ -217,6 +217,12 @@ describe(_.startCase(filename), function () { return fn('/components/whatever'); }); + it('gets even with bad name', function () { + sandbox.stub(db, 'get').returns(bluebird.resolve('{}')); + sandbox.stub(files, 'getComponentModule').withArgs('whatever').returns(null); + return fn('bad name'); + }); + it('gets using component module', function () { sandbox.stub(files, 'getComponentModule').returns(_.constant(bluebird.resolve())); return fn('/components/whatever');