Author: awiner
Date: Thu Jul 2 22:02:26 2009
New Revision: 790747
URL: http://svn.apache.org/viewvc?rev=790747&view=rev
Log:
Support multiple template libraries in the client
- Patch from Lev Epshteyn, minutely modified (removed TODO that this does)
Modified:
incubator/shindig/trunk/features/src/main/javascript/features/opensocial-templates/container.js
incubator/shindig/trunk/features/src/test/javascript/features/opensocial-templates/container_test.js
Modified:
incubator/shindig/trunk/features/src/main/javascript/features/opensocial-templates/container.js
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/src/main/javascript/features/opensocial-templates/container.js?rev=790747&r1=790746&r2=790747&view=diff
==============================================================================
---
incubator/shindig/trunk/features/src/main/javascript/features/opensocial-templates/container.js
(original)
+++
incubator/shindig/trunk/features/src/main/javascript/features/opensocial-templates/container.js
Thu Jul 2 22:02:26 2009
@@ -373,10 +373,15 @@
os.Container.autoProcess_ = false;
}
- // Honor the "requireLibrary" feature param.
- // TODO: Support multiple params when Shindig does.
+ // Honor the "requireLibrary" feature param(s).
if (params.requireLibrary) {
- os.Container.addRequiredLibrary(params.requireLibrary);
+ if (typeof params.requireLibrary == "string") {
+ os.Container.addRequiredLibrary(params.requireLibrary);
+ } else {
+ for (var i = 0; i < params.requireLibrary.length; i++) {
+ os.Container.addRequiredLibrary(params.requireLibrary[i]);
+ }
+ }
}
};
Modified:
incubator/shindig/trunk/features/src/test/javascript/features/opensocial-templates/container_test.js
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/src/test/javascript/features/opensocial-templates/container_test.js?rev=790747&r1=790746&r2=790747&view=diff
==============================================================================
---
incubator/shindig/trunk/features/src/test/javascript/features/opensocial-templates/container_test.js
(original)
+++
incubator/shindig/trunk/features/src/test/javascript/features/opensocial-templates/container_test.js
Thu Jul 2 22:02:26 2009
@@ -30,3 +30,31 @@
assertNotNull(el);
assertEquals('tag template', domutil.getVisibleText(el));
}
+
+function testRequireLibrary() {
+ var params = {};
+ var oldGadgets = window.gadgets;
+
+ window.gadgets = {};
+ window.gadgets.io = {};
+ window.gadgets.io.makeRequest = function() {};
+ window.gadgets.io.RequestParameters = { CONTENT_TYPE: 1 };
+ window.gadgets.io.ContentType = { TEXT: 1 };
+ window.gadgets.util = {};
+ window.gadgets.util.getFeatureParameters = function() {
+ return params;
+ };
+
+ params.requireLibrary = "foo";
+ os.Container.requiredLibraries_ = 0;
+ os.Container.processGadget();
+ assertEquals(1, os.Container.requiredLibraries_);
+
+ params.requireLibrary = [ "baz", "bing" ];
+ os.Container.requiredLibraries_ = 0;
+ os.Container.processGadget();
+ assertEquals(2, os.Container.requiredLibraries_);
+
+
+ window.gadgets = oldGadgets;
+}
\ No newline at end of file