Author: rbaxter85
Date: Sun Oct 19 18:20:30 2014
New Revision: 1632964

URL: http://svn.apache.org/r1632964
Log:
The NO_CACHE RenderParam does not appear to affect makeRequest
SHINDIG-1983
Committed For Doug Davies

Modified:
    shindig/trunk/features/src/main/javascript/features/core.io/io.js
    shindig/trunk/features/src/test/javascript/features/core.io/iotest.js

Modified: shindig/trunk/features/src/main/javascript/features/core.io/io.js
URL: 
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/core.io/io.js?rev=1632964&r1=1632963&r2=1632964&view=diff
==============================================================================
--- shindig/trunk/features/src/main/javascript/features/core.io/io.js (original)
+++ shindig/trunk/features/src/main/javascript/features/core.io/io.js Sun Oct 
19 18:20:30 2014
@@ -462,6 +462,15 @@ gadgets.io = function() {
         'getFullHeaders': !!params['GET_FULL_HEADERS']
       };
 
+      // add the nocache parameter if necessary
+      // request param NO_CACHE takes precedence over 
osapi.container.RenderParam.NO_CACHE
+
+      if (params.hasOwnProperty('NO_CACHE')) {
+        paramData['nocache'] = params['NO_CACHE'];
+      } else if (urlParams.hasOwnProperty('nocache')) {
+        paramData['nocache'] = urlParams['nocache'];
+      }
+
       // OAuth goodies
       if (auth === 'oauth' || auth === 'signed' || auth === 'oauth2') {
         if (gadgets.io.oauthReceivedCallbackUrl_) {
@@ -648,7 +657,8 @@ gadgets.io.RequestParameters = gadgets.u
   'OAUTH_TOKEN_NAME',
   'OAUTH_REQUEST_TOKEN',
   'OAUTH_REQUEST_TOKEN_SECRET',
-  'OAUTH_RECEIVED_CALLBACK'
+  'OAUTH_RECEIVED_CALLBACK',
+  'NO_CACHE'
 ]);
 
 /**

Modified: shindig/trunk/features/src/test/javascript/features/core.io/iotest.js
URL: 
http://svn.apache.org/viewvc/shindig/trunk/features/src/test/javascript/features/core.io/iotest.js?rev=1632964&r1=1632963&r2=1632964&view=diff
==============================================================================
--- shindig/trunk/features/src/test/javascript/features/core.io/iotest.js 
(original)
+++ shindig/trunk/features/src/test/javascript/features/core.io/iotest.js Sun 
Oct 19 18:20:30 2014
@@ -1291,3 +1291,73 @@ IoTest.prototype.testPreload_oauthApprov
       params);
   this.assertEquals("not preloaded", resp.text);
 };
+
+IoTest.prototype.testNoCacheOnUrlParam = function () {
+
+  this.getUrlParameters = gadgets.util.getUrlParameters;
+  gadgets.util.getUrlParameters = function () {
+    return { "st": "authtoken", "url": "http://www.gadget.com/gadget.xml";, 
"container": "foo",
+      "nocache": "1"};
+  };
+
+  var req = new fakeXhr.Expectation("GET", "http://example.com/json";);
+  this.setStandardArgs(req, false);
+  req.setQueryArg("url", "http://target.example.com/somepage";);
+  req.setQueryArg("bypassSpecCache", "1");
+  req.setQueryArg("nocache", "1");
+
+  var resp = this.makeFakeResponse(
+    "{ 'http://target.example.com/somepage' : { 'body' : 'some data', 'rc' : 
200 }}");
+
+  this.fakeXhrs.expect(req, resp);
+
+  var resp = null;
+  gadgets.io.makeRequest("http://target.example.com/somepage";,
+    function (data) {
+      resp = data;
+    });
+  this.assertEquals('some data', resp.text);
+};
+
+IoTest.prototype.testNoCacheOnRequestParam = function () {
+
+  var req = new fakeXhr.Expectation("GET", "http://example.com/json";);
+  this.setStandardArgs(req, false);
+  req.setQueryArg("url", "http://target.example.com/somepage";);
+  req.setQueryArg("nocache", "1");
+
+  var resp = this.makeFakeResponse(
+    "{ 'http://target.example.com/somepage' : { 'body' : 'some data', 'rc' : 
200 }}");
+
+  this.fakeXhrs.expect(req, resp);
+
+  var resp = null;
+  params = {};
+  params[gadgets.io.RequestParameters.NO_CACHE] = 1;
+  gadgets.io.makeRequest("http://target.example.com/somepage";,
+    function (data) {
+      resp = data;
+    }, params);
+  this.assertEquals('some data', resp.text);
+};
+
+IoTest.prototype.testNoNoCache = function () {
+
+  var req = new fakeXhr.Expectation("GET", "http://example.com/json";);
+  this.setStandardArgs(req, false);
+  req.setQueryArg("url", "http://target.example.com/somepage";);
+
+  var resp = this.makeFakeResponse(
+    "{ 'http://target.example.com/somepage' : { 'body' : 'some data', 'rc' : 
200 }}");
+
+  this.fakeXhrs.expect(req, resp);
+
+  var resp = null;
+  params = {};
+  gadgets.io.makeRequest("http://target.example.com/somepage";,
+    function (data) {
+      resp = data;
+    }, params);
+  this.assertEquals('some data', resp.text);
+  this.assertUndefined(resp.nocache);
+};


Reply via email to