Author: rbaxter85
Date: Thu May 10 12:51:45 2012
New Revision: 1336646

URL: http://svn.apache.org/viewvc?rev=1336646&view=rev
Log:
SHINDIG-1763
Committed For qiaoyun sun
Add lang and country substitution for ifr in client side

Modified:
    
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
    
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js

Modified: 
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
URL: 
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js?rev=1336646&r1=1336645&r2=1336646&view=diff
==============================================================================
--- 
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
 (original)
+++ 
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
 Thu May 10 12:51:45 2012
@@ -266,7 +266,15 @@ osapi.container.GadgetHolder.prototype.g
     var rpcToken = (0x7FFFFFFF * Math.random()) | 0;
     uri.setFP('rpctoken', rpcToken);
   }
-
+  var lang = this.site_.service_.getLanguage();
+  var country = this.site_.service_.getCountry();
+  var templateLang = uri.getQP('lang'), templateCountry = uri.getQP('country');
+  if(templateLang.indexOf('%') != -1){
+    uri.setQP('lang', lang);
+  }
+  if(templateCountry.indexOf('%') != -1){
+    uri.setQP('country', country);
+  }
   return uri.toString();
 };
 

Modified: 
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js
URL: 
http://svn.apache.org/viewvc/shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js?rev=1336646&r1=1336645&r2=1336646&view=diff
==============================================================================
--- 
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js
 (original)
+++ 
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js
 Thu May 10 12:51:45 2012
@@ -58,14 +58,17 @@ GadgetHolderTest.prototype.testNew = fun
 GadgetHolderTest.prototype.testRenderWithoutRenderParams = function() {
   var element = {};
   var gadgetInfo = {
-      'iframeUrls' : {'default' : 
'http://shindig/gadgets/ifr?url=gadget.xml#rpctoken=1234'},
+      'iframeUrls' : {'default' : 
'http://shindig/gadgets/ifr?url=gadget.xml&lang=en&country=US#rpctoken=1234'},
       'url' : 'gadget.xml'
   };
   this.setupGadgetsRpcSetupReceiver();
   var element = {
     id: '123'
   };
-  var site = new osapi.container.GadgetSite(null, null, {gadgetEl: element});
+  var service = {};
+  service.getCountry = function(){return "ZH";};
+  service.getLanguage = function(){return "cn"};
+  var site = new osapi.container.GadgetSite(null, service, {gadgetEl: 
element});
   var holder = new osapi.container.GadgetHolder(site, element, 
'__gadgetOnLoad');
   holder.render(gadgetInfo, {}, {'view' : 'default'});
   this.assertEquals('<iframe' +
@@ -78,7 +81,7 @@ GadgetHolderTest.prototype.testRenderWit
       ' vspace="0"' +
       ' id="__gadget_123"' +
       ' name="__gadget_123"' +
-      ' 
src="http://shindig/gadgets/ifr?url=gadget.xml&debug=0&nocache=0&testmode=0' +
+      ' 
src="http://shindig/gadgets/ifr?url=gadget.xml&lang=en&country=US&debug=0&nocache=0&testmode=0'
 +
           '&view=default&parent=http%3A//container.com&mid=0#rpctoken=1234"' +
       ' ></iframe>',
       element.innerHTML);
@@ -86,7 +89,7 @@ GadgetHolderTest.prototype.testRenderWit
 
 GadgetHolderTest.prototype.testRenderWithRenderRequests = function() {
   var gadgetInfo = {
-      'iframeUrls' : {'default' : 
'http://shindig/gadgets/ifr?url=gadget.xml#rpctoken=1234'},
+      'iframeUrls' : {'default' : 
'http://shindig/gadgets/ifr?url=gadget.xml&lang=%lang%&country=%country%#rpctoken=1234'},
       'url' : 'gadget.xml'
   };
   var renderParams = {
@@ -103,7 +106,10 @@ GadgetHolderTest.prototype.testRenderWit
   var element = {
     id: '123'
   };
-  var site = new osapi.container.GadgetSite(null, null, {gadgetEl: element, 
moduleId: 123});
+  var service = {};
+  service.getCountry = function(){return "US";};
+  service.getLanguage = function(){return "en"};
+  var site = new osapi.container.GadgetSite(null, service, {gadgetEl: element, 
moduleId: 123});
   var holder = new osapi.container.GadgetHolder(site, element, 
'__gadgetOnLoad');
   holder.render(gadgetInfo, {}, renderParams);
   this.assertEquals('<iframe' +
@@ -119,7 +125,7 @@ GadgetHolderTest.prototype.testRenderWit
       ' id="__gadget_123"' +
       ' width="222"' +
       ' name="__gadget_123"' +
-      ' 
src="http://shindig/gadgets/ifr?url=gadget.xml&debug=1&nocache=1&testmode=1' +
+      ' 
src="http://shindig/gadgets/ifr?url=gadget.xml&lang=en&country=US&debug=1&nocache=1&testmode=1'
 +
           
'&view=default&libs=caja&caja=1&parent=http%3A//container.com&mid=0#rpctoken=1234"'
 +
       ' ></iframe>',
       element.innerHTML);


Reply via email to