You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2013/02/12 20:33:07 UTC

[18/50] js commit: [all] Fix modulemapper for nested namespaces.

[all] Fix modulemapper for nested namespaces.


Project: http://git-wip-us.apache.org/repos/asf/cordova-js/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-js/commit/6fbcdc89
Tree: http://git-wip-us.apache.org/repos/asf/cordova-js/tree/6fbcdc89
Diff: http://git-wip-us.apache.org/repos/asf/cordova-js/diff/6fbcdc89

Branch: refs/heads/symbolmapping
Commit: 6fbcdc891f632b12ef914d9f5a9ad0aba53dbc19
Parents: 377be7a
Author: Andrew Grieve <ag...@chromium.org>
Authored: Tue Feb 12 13:43:43 2013 -0500
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Tue Feb 12 13:44:21 2013 -0500

----------------------------------------------------------------------
 lib/common/modulemapper.js |    4 ++--
 test/test.modulemapper.js  |    9 +++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-js/blob/6fbcdc89/lib/common/modulemapper.js
----------------------------------------------------------------------
diff --git a/lib/common/modulemapper.js b/lib/common/modulemapper.js
index ab20588..7304f8f 100644
--- a/lib/common/modulemapper.js
+++ b/lib/common/modulemapper.js
@@ -58,9 +58,9 @@ function prepareNamespace(symbolPath, context) {
     var parts = symbolPath.split('.');
     var cur = context;
     for (var i = 0, part; part = parts[i]; ++i) {
-        cur[part] = cur[part] || {};
+        cur = cur[part] = cur[part] || {};
     }
-    return cur[parts[i-1]];
+    return cur;
 }
 
 exports.mapModules = function(context) {

http://git-wip-us.apache.org/repos/asf/cordova-js/blob/6fbcdc89/test/test.modulemapper.js
----------------------------------------------------------------------
diff --git a/test/test.modulemapper.js b/test/test.modulemapper.js
index bc73042..ccf3ed6 100644
--- a/test/test.modulemapper.js
+++ b/test/test.modulemapper.js
@@ -62,6 +62,15 @@ describe('modulemapper', function() {
         expect(context.foo2.newProp).toBe(testmodule);
         expect(context.foo3.newProp).toBe(testmodule);
     });
+    it('should properly set a new non-top-level property #2', function() {
+        modulemapper.clobbers('cordova/testmodule', 'foo1.bar.newProp');
+        modulemapper.defaults('cordova/testmodule', 'foo2.bar.newProp');
+        modulemapper.merges('cordova/testmodule', 'foo3.bar.newProp');
+        modulemapper.mapModules(context);
+        expect(context.foo1.bar.newProp).toBe(testmodule);
+        expect(context.foo2.bar.newProp).toBe(testmodule);
+        expect(context.foo3.bar.newProp).toBe(testmodule);
+    });
     it('should properly set a non-new non-top-level property', function() {
         modulemapper.clobbers('cordova/testmodule', 'obj.newProp1');
         modulemapper.defaults('cordova/testmodule', 'obj.newProp2');