Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Unified Diff: remoting/webapp/crd/js/xhr_unittest.js

Issue 1003433002: Updated remoting.xhr API to use promises. Removed access to the native (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@spy-promise
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/webapp/crd/js/xhr_unittest.js
diff --git a/remoting/webapp/crd/js/xhr_unittest.js b/remoting/webapp/crd/js/xhr_unittest.js
index ea32042abe9f6c60cbfc3322af9ee19b201febe2..0227f484b93d127577e10dcf062492564a558328 100644
--- a/remoting/webapp/crd/js/xhr_unittest.js
+++ b/remoting/webapp/crd/js/xhr_unittest.js
@@ -4,231 +4,236 @@
/**
* @fileoverview
- * @suppress {checkTypes|checkVars|reportUnknownTypes}
*/
(function() {
'use strict';
-module('xhr', {
- setup: function() {
+/** @type {sinon.FakeXhr} */
+var fakeXhr;
+
+QUnit.module('xhr', {
+ beforeEach: function() {
+ fakeXhr = null;
+ sinon.useFakeXMLHttpRequest().onCreate =
+ function(/** sinon.FakeXhr */ xhr) {
+ fakeXhr = xhr;
+ };
},
- teardown: function() {
+ afterEach: function() {
}
});
-test('urlencodeParamHash', function() {
+QUnit.test('urlencodeParamHash', function() {
QUnit.equal(
- remoting.xhr.urlencodeParamHash({}),
+ remoting.Xhr.urlencodeParamHash({}),
'');
QUnit.equal(
- remoting.xhr.urlencodeParamHash({'key': 'value'}),
+ remoting.Xhr.urlencodeParamHash({'key': 'value'}),
'key=value');
QUnit.equal(
- remoting.xhr.urlencodeParamHash({'key /?=&': 'value /?=&'}),
+ remoting.Xhr.urlencodeParamHash({'key /?=&': 'value /?=&'}),
'key%20%2F%3F%3D%26=value%20%2F%3F%3D%26');
QUnit.equal(
- remoting.xhr.urlencodeParamHash({'k1': 'v1', 'k2': 'v2'}),
+ remoting.Xhr.urlencodeParamHash({'k1': 'v1', 'k2': 'v2'}),
'k1=v1&k2=v2');
});
-asyncTest('basic GET', function() {
- sinon.useFakeXMLHttpRequest();
- var request = remoting.xhr.start({
+QUnit.test('basic GET', function(assert) {
+ var done = assert.async();
+
+ new remoting.Xhr({
method: 'GET',
url: 'http://foo.com',
- onDone: function(xhr) {
- QUnit.ok(xhr === request);
- QUnit.equal(xhr.status, 200);
- QUnit.equal(xhr.responseText, 'body');
- QUnit.start();
- }
+ responseType: remoting.Xhr.ResponseType.TEXT
+ }).start().then(function(response) {
+ QUnit.equal(response.status, 200);
+ QUnit.equal(response.getText(), 'body');
+ done();
});
- QUnit.equal(request.method, 'GET');
- QUnit.equal(request.url, 'http://foo.com');
- QUnit.equal(request.withCredentials, false);
- QUnit.equal(request.requestBody, null);
- QUnit.ok(!('Content-type' in request.requestHeaders));
- request.respond(200, {}, 'body');
+ QUnit.equal(fakeXhr.method, 'GET');
+ QUnit.equal(fakeXhr.url, 'http://foo.com');
+ QUnit.equal(fakeXhr.withCredentials, false);
+ QUnit.equal(fakeXhr.requestBody, null);
+ QUnit.ok(!('Content-type' in fakeXhr.requestHeaders));
+ fakeXhr.respond(200, {}, 'body');
});
-asyncTest('GET with param string', function() {
- sinon.useFakeXMLHttpRequest();
- var request = remoting.xhr.start({
+QUnit.test('GET with param string', function(assert) {
+ var done = assert.async();
+
+ new remoting.Xhr({
method: 'GET',
url: 'http://foo.com',
- onDone: function(xhr) {
- QUnit.ok(xhr === request);
- QUnit.equal(xhr.status, 200);
- QUnit.equal(xhr.responseText, 'body');
- QUnit.start();
- },
+ responseType: remoting.Xhr.ResponseType.TEXT,
urlParams: 'the_param_string'
+ }).start().then(function(response) {
+ QUnit.equal(response.status, 200);
+ QUnit.equal(response.getText(), 'body');
+ done();
});
- QUnit.equal(request.method, 'GET');
- QUnit.equal(request.url, 'http://foo.com?the_param_string');
- QUnit.equal(request.withCredentials, false);
- QUnit.equal(request.requestBody, null);
- QUnit.ok(!('Content-type' in request.requestHeaders));
- request.respond(200, {}, 'body');
+ QUnit.equal(fakeXhr.method, 'GET');
+ QUnit.equal(fakeXhr.url, 'http://foo.com?the_param_string');
+ QUnit.equal(fakeXhr.withCredentials, false);
+ QUnit.equal(fakeXhr.requestBody, null);
+ QUnit.ok(!('Content-type' in fakeXhr.requestHeaders));
+ fakeXhr.respond(200, {}, 'body');
});
-asyncTest('GET with param object', function() {
- sinon.useFakeXMLHttpRequest();
- var request = remoting.xhr.start({
+QUnit.test('GET with param object', function(assert) {
+ var done = assert.async();
+
+ new remoting.Xhr({
method: 'GET',
url: 'http://foo.com',
- onDone: function(xhr) {
- QUnit.ok(xhr === request);
- QUnit.equal(xhr.status, 200);
- QUnit.equal(xhr.responseText, 'body');
- QUnit.start();
- },
+ responseType: remoting.Xhr.ResponseType.TEXT,
urlParams: {'a': 'b', 'c': 'd'}
+ }).start().then(function(response) {
+ QUnit.equal(response.status, 200);
+ QUnit.equal(response.getText(), 'body');
+ done();
});
- QUnit.equal(request.method, 'GET');
- QUnit.equal(request.url, 'http://foo.com?a=b&c=d');
- QUnit.equal(request.withCredentials, false);
- QUnit.equal(request.requestBody, null);
- QUnit.ok(!('Content-type' in request.requestHeaders));
- request.respond(200, {}, 'body');
+ QUnit.equal(fakeXhr.method, 'GET');
+ QUnit.equal(fakeXhr.url, 'http://foo.com?a=b&c=d');
+ QUnit.equal(fakeXhr.withCredentials, false);
+ QUnit.equal(fakeXhr.requestBody, null);
+ QUnit.ok(!('Content-type' in fakeXhr.requestHeaders));
+ fakeXhr.respond(200, {}, 'body');
});
-asyncTest('GET with headers', function() {
- sinon.useFakeXMLHttpRequest();
- var request = remoting.xhr.start({
+QUnit.test('GET with headers', function(assert) {
+ var done = assert.async();
+
+ new remoting.Xhr({
method: 'GET',
url: 'http://foo.com',
- onDone: function(xhr) {
- QUnit.ok(xhr === request);
- QUnit.equal(xhr.status, 200);
- QUnit.equal(xhr.responseText, 'body');
- QUnit.start();
- },
+ responseType: remoting.Xhr.ResponseType.TEXT,
headers: {'Header1': 'headerValue1', 'Header2': 'headerValue2'}
+ }).start().then(function(response) {
+ QUnit.equal(response.status, 200);
+ QUnit.equal(response.getText(), 'body');
+ done();
});
- QUnit.equal(request.method, 'GET');
- QUnit.equal(request.url, 'http://foo.com');
- QUnit.equal(request.withCredentials, false);
- QUnit.equal(request.requestBody, null);
+ QUnit.equal(fakeXhr.method, 'GET');
+ QUnit.equal(fakeXhr.url, 'http://foo.com');
+ QUnit.equal(fakeXhr.withCredentials, false);
+ QUnit.equal(fakeXhr.requestBody, null);
QUnit.equal(
- request.requestHeaders['Header1'],
+ fakeXhr.requestHeaders['Header1'],
'headerValue1');
QUnit.equal(
- request.requestHeaders['Header2'],
+ fakeXhr.requestHeaders['Header2'],
'headerValue2');
- QUnit.ok(!('Content-type' in request.requestHeaders));
- request.respond(200, {}, 'body');
+ QUnit.ok(!('Content-type' in fakeXhr.requestHeaders));
+ fakeXhr.respond(200, {}, 'body');
});
-asyncTest('GET with credentials', function() {
- sinon.useFakeXMLHttpRequest();
- var request = remoting.xhr.start({
+QUnit.test('GET with credentials', function(assert) {
+ var done = assert.async();
+
+ new remoting.Xhr({
method: 'GET',
url: 'http://foo.com',
- onDone: function(xhr) {
- QUnit.ok(xhr === request);
- QUnit.equal(xhr.status, 200);
- QUnit.equal(xhr.responseText, 'body');
- QUnit.start();
- },
+ responseType: remoting.Xhr.ResponseType.TEXT,
withCredentials: true
+ }).start().then(function(response) {
+ QUnit.equal(response.status, 200);
+ QUnit.equal(response.getText(), 'body');
+ done();
});
- QUnit.equal(request.method, 'GET');
- QUnit.equal(request.url, 'http://foo.com');
- QUnit.equal(request.withCredentials, true);
- QUnit.equal(request.requestBody, null);
- QUnit.ok(!('Content-type' in request.requestHeaders));
- request.respond(200, {}, 'body');
+ QUnit.equal(fakeXhr.method, 'GET');
+ QUnit.equal(fakeXhr.url, 'http://foo.com');
+ QUnit.equal(fakeXhr.withCredentials, true);
+ QUnit.equal(fakeXhr.requestBody, null);
+ QUnit.ok(!('Content-type' in fakeXhr.requestHeaders));
+ fakeXhr.respond(200, {}, 'body');
});
-asyncTest('POST with text content', function() {
- sinon.useFakeXMLHttpRequest();
- var request = remoting.xhr.start({
+QUnit.test('POST with text content', function(assert) {
+ var done = assert.async();
+
+ new remoting.Xhr({
method: 'POST',
url: 'http://foo.com',
- onDone: function(xhr) {
- QUnit.ok(xhr === request);
- QUnit.equal(xhr.status, 200);
- QUnit.equal(xhr.responseText, 'body');
- QUnit.start();
- },
+ responseType: remoting.Xhr.ResponseType.TEXT,
textContent: 'the_content_string'
+ }).start().then(function(response) {
+ QUnit.equal(response.status, 200);
+ QUnit.equal(response.getText(), 'body');
+ done();
});
- QUnit.equal(request.method, 'POST');
- QUnit.equal(request.url, 'http://foo.com');
- QUnit.equal(request.withCredentials, false);
- QUnit.equal(request.requestBody, 'the_content_string');
- QUnit.ok(!('Content-type' in request.requestHeaders));
- request.respond(200, {}, 'body');
+ QUnit.equal(fakeXhr.method, 'POST');
+ QUnit.equal(fakeXhr.url, 'http://foo.com');
+ QUnit.equal(fakeXhr.withCredentials, false);
+ QUnit.equal(fakeXhr.requestBody, 'the_content_string');
+ QUnit.ok(!('Content-type' in fakeXhr.requestHeaders));
+ fakeXhr.respond(200, {}, 'body');
});
-asyncTest('POST with form content', function() {
- sinon.useFakeXMLHttpRequest();
- var request = remoting.xhr.start({
+QUnit.test('POST with form content', function(assert) {
+ var done = assert.async();
+
+ new remoting.Xhr({
method: 'POST',
url: 'http://foo.com',
- onDone: function(xhr) {
- QUnit.ok(xhr === request);
- QUnit.equal(xhr.status, 200);
- QUnit.equal(xhr.responseText, 'body');
- QUnit.start();
- },
+ responseType: remoting.Xhr.ResponseType.TEXT,
formContent: {'a': 'b', 'c': 'd'}
+ }).start().then(function(response) {
+ QUnit.equal(response.status, 200);
+ QUnit.equal(response.getText(), 'body');
+ done();
});
- QUnit.equal(request.method, 'POST');
- QUnit.equal(request.url, 'http://foo.com');
- QUnit.equal(request.withCredentials, false);
- QUnit.equal(request.requestBody, 'a=b&c=d');
+ QUnit.equal(fakeXhr.method, 'POST');
+ QUnit.equal(fakeXhr.url, 'http://foo.com');
+ QUnit.equal(fakeXhr.withCredentials, false);
+ QUnit.equal(fakeXhr.requestBody, 'a=b&c=d');
QUnit.equal(
- request.requestHeaders['Content-type'],
+ fakeXhr.requestHeaders['Content-type'],
'application/x-www-form-urlencoded');
- request.respond(200, {}, 'body');
+ fakeXhr.respond(200, {}, 'body');
});
-asyncTest('defaultResponse 200', function() {
- sinon.useFakeXMLHttpRequest();
+QUnit.test('defaultResponse 200', function(assert) {
+ var done = assert.async();
var onDone = function() {
QUnit.ok(true);
- QUnit.start();
+ done();
};
var onError = function(error) {
QUnit.ok(false);
- QUnit.start();
+ done();
};
- var request = remoting.xhr.start({
+ new remoting.Xhr({
method: 'POST',
- url: 'http://foo.com',
- onDone: remoting.xhr.defaultResponse(onDone, onError)
- });
- request.respond(200);
+ url: 'http://foo.com'
+ }).start().then(remoting.Xhr.defaultResponse(onDone, onError));
+ fakeXhr.respond(200, {}, '');
});
-asyncTest('defaultResponse 404', function() {
- sinon.useFakeXMLHttpRequest();
+QUnit.test('defaultResponse 404', function(assert) {
+ var done = assert.async();
var onDone = function() {
QUnit.ok(false);
- QUnit.start();
+ done();
};
var onError = function(error) {
QUnit.ok(true);
- QUnit.start();
+ done();
};
- var request = remoting.xhr.start({
+ new remoting.Xhr({
method: 'POST',
- url: 'http://foo.com',
- onDone: remoting.xhr.defaultResponse(onDone, onError)
- });
- request.respond(404);
+ url: 'http://foo.com'
+ }).start().then(remoting.Xhr.defaultResponse(onDone, onError));
+ fakeXhr.respond(404, {}, '');
});
})();

Powered by Google App Engine
This is Rietveld 408576698