You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2011/06/06 22:08:02 UTC

svn commit: r1132742 - in /incubator/rave/trunk/rave-portal/src: main/webapp/script/rave_opensocial.js test/javascript/raveOpenSocialSpec.js

Author: mfranklin
Date: Mon Jun  6 20:08:02 2011
New Revision: 1132742

URL: http://svn.apache.org/viewvc?rev=1132742&view=rev
Log:
Fixed case where set title is called with an array as the argument for title.  Chooses first element.

Modified:
    incubator/rave/trunk/rave-portal/src/main/webapp/script/rave_opensocial.js
    incubator/rave/trunk/rave-portal/src/test/javascript/raveOpenSocialSpec.js

Modified: incubator/rave/trunk/rave-portal/src/main/webapp/script/rave_opensocial.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal/src/main/webapp/script/rave_opensocial.js?rev=1132742&r1=1132741&r2=1132742&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal/src/main/webapp/script/rave_opensocial.js (original)
+++ incubator/rave/trunk/rave-portal/src/main/webapp/script/rave_opensocial.js Mon Jun  6 20:08:02 2011
@@ -153,7 +153,8 @@ rave.opensocial = rave.opensocial || (fu
         var titleId = "widget-" + rave.getObjectIdFromDomId(bodyId) + "-title";
         var element = document.getElementById(titleId);
         if (element) {
-            element.innerHTML = gadgets.util.escapeString(args.a);
+            var a = isArray(args.a) ? args.a[0] : args.a;
+            element.innerHTML = gadgets.util.escapeString(a);
         }
 
     }
@@ -170,6 +171,13 @@ rave.opensocial = rave.opensocial || (fu
     }
 
     /**
+     * Utility functions
+     */
+    function isArray(o) {
+        return Object.prototype.toString.call(o) == "[object Array]";
+    }
+
+    /**
      * Exposed public API calls
      */
     return {

Modified: incubator/rave/trunk/rave-portal/src/test/javascript/raveOpenSocialSpec.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal/src/test/javascript/raveOpenSocialSpec.js?rev=1132742&r1=1132741&r2=1132742&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal/src/test/javascript/raveOpenSocialSpec.js (original)
+++ incubator/rave/trunk/rave-portal/src/test/javascript/raveOpenSocialSpec.js Mon Jun  6 20:08:02 2011
@@ -101,10 +101,10 @@ describe("Rave OpenSocial", function() {
 
     describe("RPC Hooks", function() {
 
-        function getMockTitleArgs(id) {
+        function getMockTitleArgs(id, arrayOut) {
             return {
                 f : "frameId",
-                a : "TITLE",
+                a : arrayOut ? ["TITLE"] : "TITLE",
                 gs : {
                     getActiveGadgetHolder : function() {
                         return {getElement : function() {
@@ -164,8 +164,18 @@ describe("Rave OpenSocial", function() {
             spyOn(document, "getElementById").andReturn(null);
 
             rave.opensocial.init();
-            container.rpcHooks()["set_title"](getMockTitleArgs("not-in-existence"));
+            container.rpcHooks()["set_title"](getMockTitleArgs("not-in-existence", false));
             expect(true).toBeTruthy();
         });
+
+        it("set title handles array title args", function() {
+            var mockElement = {innerHTML : "NOTHING"};
+            spyOn(document, "getElementById").andReturn(mockElement);
+
+            rave.opensocial.init();
+            container.rpcHooks()["set_title"](getMockTitleArgs("widget-7-body", true));
+            expect(mockElement.innerHTML).toEqual("TITLE");
+            expect(document.getElementById).toHaveBeenCalledWith("widget-7-title");
+        });
     });
 });
\ No newline at end of file