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);