2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-20 20:00:40 +03:00

Fixing tests for IE

This commit is contained in:
Matt Zabriskie
2016-03-05 23:17:39 -07:00
parent 6d84717cba
commit dc07ef2559
11 changed files with 147 additions and 202 deletions
+4 -4
View File
@@ -54,8 +54,8 @@ module.exports = function(config) {
// Safari // Safari
if (runAll || process.env.SAUCE_SAFARI) { if (runAll || process.env.SAUCE_SAFARI) {
customLaunchers.SL_Safari7 = createCustomLauncher('safari', 7); // customLaunchers.SL_Safari7 = createCustomLauncher('safari', 7);
customLaunchers.SL_Safari8 = createCustomLauncher('safari', 8); // customLaunchers.SL_Safari8 = createCustomLauncher('safari', 8);
customLaunchers.SL_Safari9 = createCustomLauncher('safari', 9); customLaunchers.SL_Safari9 = createCustomLauncher('safari', 9);
} }
@@ -70,8 +70,8 @@ module.exports = function(config) {
if (runAll || process.env.SAUCE_IE) { if (runAll || process.env.SAUCE_IE) {
// TODO These need to be fixed // TODO These need to be fixed
// customLaunchers.SL_IE8 = createCustomLauncher('internet explorer', 8, 'Windows 7'); // customLaunchers.SL_IE8 = createCustomLauncher('internet explorer', 8, 'Windows 7');
// customLaunchers.SL_IE9 = createCustomLauncher('internet explorer', 9, 'Windows 2008'); customLaunchers.SL_IE9 = createCustomLauncher('internet explorer', 9, 'Windows 2008');
// customLaunchers.SL_IE10 = createCustomLauncher('internet explorer', 10, 'Windows 2012'); customLaunchers.SL_IE10 = createCustomLauncher('internet explorer', 10, 'Windows 2012');
customLaunchers.SL_IE11 = createCustomLauncher('internet explorer', 11, 'Windows 8.1'); customLaunchers.SL_IE11 = createCustomLauncher('internet explorer', 11, 'Windows 8.1');
} }
+28
View File
@@ -0,0 +1,28 @@
var attempts = 0;
var MAX_ATTEMPTS = 5;
var ATTEMPT_DELAY_FACTOR = 5;
module.exports = function getAjaxRequest() {
return new Promise(function (resolve, reject) {
attempts = 0;
attemptGettingAjaxRequest(resolve, reject);
});
}
function attemptGettingAjaxRequest(resolve, reject) {
var delay = attempts * attempts * ATTEMPT_DELAY_FACTOR;
if (attempts++ > MAX_ATTEMPTS) {
reject(new Error('No request was found'));
return;
}
setTimeout(function () {
var request = jasmine.Ajax.requests.mostRecent();
if (request) {
resolve(request);
} else {
attemptGettingAjaxRequest(resolve, reject);
}
}, delay);
}
+11 -20
View File
@@ -1,6 +1,7 @@
var axios = require('../../index'); var axios = require('../../index');
var defaults = require('../../lib/defaults'); var defaults = require('../../lib/defaults');
var utils = require('../../lib/utils'); var utils = require('../../lib/utils');
var getAjaxRequest = require('./__getAjaxRequest');
describe('defaults', function () { describe('defaults', function () {
var __defaults; var __defaults;
@@ -39,12 +40,10 @@ describe('defaults', function () {
it('should use global defaults config', function (done) { it('should use global defaults config', function (done) {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo'); expect(request.url).toBe('/foo');
done(); done();
}, 0); });
}); });
it('should use modified defaults config', function (done) { it('should use modified defaults config', function (done) {
@@ -52,12 +51,10 @@ describe('defaults', function () {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://example.com/foo'); expect(request.url).toBe('http://example.com/foo');
done(); done();
}, 0); });
}); });
it('should use request config', function (done) { it('should use request config', function (done) {
@@ -65,12 +62,10 @@ describe('defaults', function () {
baseURL: 'http://www.example.com' baseURL: 'http://www.example.com'
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://www.example.com/foo'); expect(request.url).toBe('http://www.example.com/foo');
done(); done();
}, 0); });
}); });
it('should use default config for custom instance', function (done) { it('should use default config for custom instance', function (done) {
@@ -82,12 +77,10 @@ describe('defaults', function () {
instance.get('/foo'); instance.get('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[instance.defaults.xsrfHeaderName]).toEqual('foobarbaz'); expect(request.requestHeaders[instance.defaults.xsrfHeaderName]).toEqual('foobarbaz');
done(); done();
}, 0); });
}); });
it('should use header config', function (done) { it('should use header config', function (done) {
@@ -112,9 +105,7 @@ describe('defaults', function () {
} }
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders).toEqual( expect(request.requestHeaders).toEqual(
utils.merge(defaults.headers.common, { utils.merge(defaults.headers.common, {
'X-COMMON-HEADER': 'commonHeaderValue', 'X-COMMON-HEADER': 'commonHeaderValue',
@@ -124,7 +115,7 @@ describe('defaults', function () {
}) })
); );
done(); done();
}, 0); });
}); });
}); });
+11 -17
View File
@@ -1,4 +1,5 @@
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
function testHeaderValue(headers, key, val) { function testHeaderValue(headers, key, val) {
var found = false; var found = false;
@@ -34,16 +35,14 @@ describe('headers', function () {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
for (var key in headers) { for (var key in headers) {
if (headers.hasOwnProperty(key)) { if (headers.hasOwnProperty(key)) {
expect(request.requestHeaders[key]).toEqual(headers[key]); expect(request.requestHeaders[key]).toEqual(headers[key]);
} }
} }
done(); done();
}, 0); });
}); });
it('should add extra headers for post', function (done) { it('should add extra headers for post', function (done) {
@@ -51,16 +50,14 @@ describe('headers', function () {
axios.post('/foo', 'fizz=buzz'); axios.post('/foo', 'fizz=buzz');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
for (var key in headers) { for (var key in headers) {
if (headers.hasOwnProperty(key)) { if (headers.hasOwnProperty(key)) {
expect(request.requestHeaders[key]).toEqual(headers[key]); expect(request.requestHeaders[key]).toEqual(headers[key]);
} }
} }
done(); done();
}, 0); });
}); });
it('should use application/json when posting an object', function (done) { it('should use application/json when posting an object', function (done) {
@@ -69,30 +66,27 @@ describe('headers', function () {
lastName: 'bar' lastName: 'bar'
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
testHeaderValue(request.requestHeaders, 'Content-Type', 'application/json;charset=utf-8'); testHeaderValue(request.requestHeaders, 'Content-Type', 'application/json;charset=utf-8');
done(); done();
}, 0); });
}); });
it('should remove content-type if data is empty', function (done) { it('should remove content-type if data is empty', function (done) {
axios.post('/foo'); axios.post('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
testHeaderValue(request.requestHeaders, 'Content-Type', undefined); testHeaderValue(request.requestHeaders, 'Content-Type', undefined);
done(); done();
}, 0); });
}); });
it('should preserve content-type if data is false', function (done) { it('should preserve content-type if data is false', function (done) {
axios.post('/foo', false); axios.post('/foo', false);
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
testHeaderValue(request.requestHeaders, 'Content-Type', 'application/x-www-form-urlencoded'); testHeaderValue(request.requestHeaders, 'Content-Type', 'application/x-www-form-urlencoded');
done(); done();
}, 0); });
}); });
}); });
+7 -12
View File
@@ -1,4 +1,5 @@
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
describe('instance', function () { describe('instance', function () {
beforeEach(function () { beforeEach(function () {
@@ -14,12 +15,10 @@ describe('instance', function () {
instance.get('/foo'); instance.get('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo'); expect(request.url).toBe('/foo');
done(); done();
}, 0); });
}); });
it('should use instance options', function (done) { it('should use instance options', function (done) {
@@ -27,12 +26,10 @@ describe('instance', function () {
instance.get('/foo'); instance.get('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
request = jasmine.Ajax.requests.mostRecent();
expect(request.timeout).toBe(1000); expect(request.timeout).toBe(1000);
done(); done();
}, 0); });
}); });
it('should have interceptors on the instance', function (done) { it('should have interceptors on the instance', function (done) {
@@ -52,9 +49,7 @@ describe('instance', function () {
response = res; response = res;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200 status: 200
}); });
@@ -64,6 +59,6 @@ describe('instance', function () {
expect(response.config.bar).toEqual(true); expect(response.config.bar).toEqual(true);
done(); done();
}); });
}, 0); });
}); });
}); });
+24 -39
View File
@@ -1,4 +1,5 @@
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
describe('interceptors', function () { describe('interceptors', function () {
beforeEach(function () { beforeEach(function () {
@@ -19,9 +20,7 @@ describe('interceptors', function () {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -29,7 +28,7 @@ describe('interceptors', function () {
expect(request.requestHeaders.test).toBe('added by interceptor'); expect(request.requestHeaders.test).toBe('added by interceptor');
done(); done();
}, 0); });
}); });
it('should add a request interceptor that returns a new config object', function (done) { it('should add a request interceptor that returns a new config object', function (done) {
@@ -42,9 +41,7 @@ describe('interceptors', function () {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -53,10 +50,10 @@ describe('interceptors', function () {
expect(request.method).toBe('POST'); expect(request.method).toBe('POST');
expect(request.url).toBe('/bar'); expect(request.url).toBe('/bar');
done(); done();
}, 0); });
}); });
it('should add a request interceptor that returns a promise', function (done) { fit('should add a request interceptor that returns a promise', function (done) {
axios.interceptors.request.use(function (config) { axios.interceptors.request.use(function (config) {
return new Promise(function (resolve) { return new Promise(function (resolve) {
// do something async // do something async
@@ -69,9 +66,7 @@ describe('interceptors', function () {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -79,7 +74,7 @@ describe('interceptors', function () {
expect(request.requestHeaders.async).toBe('promise'); expect(request.requestHeaders.async).toBe('promise');
done(); done();
}, 100); });
}); });
it('should add multiple request interceptors', function (done) { it('should add multiple request interceptors', function (done) {
@@ -98,7 +93,7 @@ describe('interceptors', function () {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent(); var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
@@ -110,7 +105,7 @@ describe('interceptors', function () {
expect(request.requestHeaders.test2).toBe('2'); expect(request.requestHeaders.test2).toBe('2');
expect(request.requestHeaders.test3).toBe('3'); expect(request.requestHeaders.test3).toBe('3');
done(); done();
}, 0); });
}); });
it('should add a response interceptor', function (done) { it('should add a response interceptor', function (done) {
@@ -125,9 +120,7 @@ describe('interceptors', function () {
response = data; response = data;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -136,8 +129,8 @@ describe('interceptors', function () {
setTimeout(function () { setTimeout(function () {
expect(response.data).toBe('OK - modified by interceptor'); expect(response.data).toBe('OK - modified by interceptor');
done(); done();
}, 0); });
}, 0); });
}); });
it('should add a response interceptor that returns a new data object', function (done) { it('should add a response interceptor that returns a new data object', function (done) {
@@ -153,9 +146,7 @@ describe('interceptors', function () {
response = data; response = data;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -164,8 +155,8 @@ describe('interceptors', function () {
setTimeout(function () { setTimeout(function () {
expect(response.data).toBe('stuff'); expect(response.data).toBe('stuff');
done(); done();
}, 0); });
}, 0); });
}); });
it('should add a response interceptor that returns a promise', function (done) { it('should add a response interceptor that returns a promise', function (done) {
@@ -185,9 +176,7 @@ describe('interceptors', function () {
response = data; response = data;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -197,7 +186,7 @@ describe('interceptors', function () {
expect(response.data).toBe('you have been promised!'); expect(response.data).toBe('you have been promised!');
done(); done();
}, 100); }, 100);
}, 0); });
}); });
it('should add multiple response interceptors', function (done) { it('should add multiple response interceptors', function (done) {
@@ -220,9 +209,7 @@ describe('interceptors', function () {
response = data; response = data;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -231,8 +218,8 @@ describe('interceptors', function () {
setTimeout(function () { setTimeout(function () {
expect(response.data).toBe('OK123'); expect(response.data).toBe('OK123');
done(); done();
}, 0); });
}, 0); });
}); });
it('should allow removing interceptors', function (done) { it('should allow removing interceptors', function (done) {
@@ -257,9 +244,7 @@ describe('interceptors', function () {
response = data; response = data;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: 'OK' responseText: 'OK'
@@ -268,7 +253,7 @@ describe('interceptors', function () {
setTimeout(function () { setTimeout(function () {
expect(response.data).toBe('OK13'); expect(response.data).toBe('OK13');
done(); done();
}, 0); });
}, 0); });
}); });
}); });
+13 -24
View File
@@ -1,4 +1,5 @@
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
describe('options', function () { describe('options', function () {
beforeEach(function () { beforeEach(function () {
@@ -12,12 +13,10 @@ describe('options', function () {
it('should default method to get', function (done) { it('should default method to get', function (done) {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.method).toBe('GET'); expect(request.method).toBe('GET');
done(); done();
}, 0); });
}); });
it('should accept headers', function (done) { it('should accept headers', function (done) {
@@ -27,12 +26,10 @@ describe('options', function () {
} }
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['X-Requested-With']).toEqual('XMLHttpRequest'); expect(request.requestHeaders['X-Requested-With']).toEqual('XMLHttpRequest');
done(); done();
}, 0); });
}); });
it('should accept params', function (done) { it('should accept params', function (done) {
@@ -43,12 +40,10 @@ describe('options', function () {
} }
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo?foo=123&bar=456'); expect(request.url).toBe('/foo?foo=123&bar=456');
done(); done();
}, 0); });
}); });
it('should allow overriding default headers', function (done) { it('should allow overriding default headers', function (done) {
@@ -58,12 +53,10 @@ describe('options', function () {
} }
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['Accept']).toEqual('foo/bar'); expect(request.requestHeaders['Accept']).toEqual('foo/bar');
done(); done();
}, 0); });
}); });
it('should accept base URL', function (done) { it('should accept base URL', function (done) {
@@ -73,12 +66,10 @@ describe('options', function () {
instance.get('/foo'); instance.get('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://test.com/foo'); expect(request.url).toBe('http://test.com/foo');
done(); done();
}, 0); });
}); });
it('should ignore base URL if request URL is absolute', function (done) { it('should ignore base URL if request URL is absolute', function (done) {
@@ -88,11 +79,9 @@ describe('options', function () {
instance.get('http://someotherurl.com/'); instance.get('http://someotherurl.com/');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://someotherurl.com/'); expect(request.url).toBe('http://someotherurl.com/');
done(); done();
}, 0); });
}); });
}); });
+6 -7
View File
@@ -1,5 +1,6 @@
require('es6-promise').polyfill(); require('es6-promise').polyfill();
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
describe('promise', function () { describe('promise', function () {
beforeEach(function () { beforeEach(function () {
@@ -17,9 +18,7 @@ describe('promise', function () {
response = r; response = r;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: '{"hello":"world"}' responseText: '{"hello":"world"}'
@@ -32,8 +31,8 @@ describe('promise', function () {
expect(response.headers['content-type']).toEqual('application/json'); expect(response.headers['content-type']).toEqual('application/json');
expect(response.config.url).toEqual('/foo'); expect(response.config.url).toEqual('/foo');
done(); done();
}, 0); });
}, 0); });
}); });
it('should support all', function (done) { it('should support all', function (done) {
@@ -46,7 +45,7 @@ describe('promise', function () {
setTimeout(function () { setTimeout(function () {
expect(fulfilled).toEqual(true); expect(fulfilled).toEqual(true);
done(); done();
}, 0); }, 100);
}); });
it('should support spread', function (done) { it('should support spread', function (done) {
@@ -70,6 +69,6 @@ describe('promise', function () {
expect(sum).toEqual(123 + 456); expect(sum).toEqual(123 + 456);
expect(result).toEqual('hello world'); expect(result).toEqual('hello world');
done(); done();
}, 0); }, 100);
}); });
}); });
+24 -44
View File
@@ -1,4 +1,5 @@
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
describe('requests', function () { describe('requests', function () {
beforeEach(function () { beforeEach(function () {
@@ -12,36 +13,30 @@ describe('requests', function () {
it('should treat single string arg as url', function (done) { it('should treat single string arg as url', function (done) {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo'); expect(request.url).toBe('/foo');
expect(request.method).toBe('GET'); expect(request.method).toBe('GET');
done(); done();
}, 0); });
}); });
it('should allow string arg as url, and config arg', function (done) { it('should allow string arg as url, and config arg', function (done) {
axios.post('/foo'); axios.post('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo'); expect(request.url).toBe('/foo');
expect(request.method).toBe('POST'); expect(request.method).toBe('POST');
done(); done();
}, 0); });
}); });
it('should make an http request', function (done) { it('should make an http request', function (done) {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo'); expect(request.url).toBe('/foo');
done(); done();
}, 0); });
}); });
it('should reject on network errors', function (done) { it('should reject on network errors', function (done) {
@@ -70,8 +65,7 @@ describe('requests', function () {
response = res; response = res;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
statusText: 'OK', statusText: 'OK',
@@ -87,10 +81,8 @@ describe('requests', function () {
expect(response.statusText).toEqual('OK'); expect(response.statusText).toEqual('OK');
expect(response.headers['content-type']).toEqual('application/json'); expect(response.headers['content-type']).toEqual('application/json');
done(); done();
}, 0); });
});
}, 0);
}); });
@@ -101,9 +93,7 @@ describe('requests', function () {
response = res; response = res;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
statusText: 'OK', statusText: 'OK',
@@ -119,8 +109,8 @@ describe('requests', function () {
expect(response.statusText).toEqual('OK'); expect(response.statusText).toEqual('OK');
expect(response.headers['content-type']).toEqual('application/json'); expect(response.headers['content-type']).toEqual('application/json');
done(); done();
}, 0); });
}, 0); });
}); });
// https://github.com/mzabriskie/axios/issues/201 // https://github.com/mzabriskie/axios/issues/201
@@ -131,9 +121,7 @@ describe('requests', function () {
response = res response = res
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 1223, status: 1223,
statusText: 'Unknown' statusText: 'Unknown'
@@ -143,8 +131,8 @@ describe('requests', function () {
expect(response.status).toEqual(204); expect(response.status).toEqual(204);
expect(response.statusText).toEqual('No Content'); expect(response.statusText).toEqual('No Content');
done(); done();
}, 0); });
}, 0); });
}); });
it('should allow overriding Content-Type header case-insensitive', function (done) { it('should allow overriding Content-Type header case-insensitive', function (done) {
@@ -159,9 +147,7 @@ describe('requests', function () {
response = res; response = res;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['Content-Type']).toEqual(contentType); expect(request.requestHeaders['Content-Type']).toEqual(contentType);
done(); done();
}); });
@@ -174,15 +160,13 @@ describe('requests', function () {
axios.post('/foo', input.buffer); axios.post('/foo', input.buffer);
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
var output = new Int8Array(request.params.buffer); var output = new Int8Array(request.params.buffer);
expect(output.length).toEqual(2); expect(output.length).toEqual(2);
expect(output[0]).toEqual(1); expect(output[0]).toEqual(1);
expect(output[1]).toEqual(2); expect(output[1]).toEqual(2);
done(); done();
}, 0); });
}); });
it('should support binary data as array buffer view', function (done) { it('should support binary data as array buffer view', function (done) {
@@ -192,15 +176,13 @@ describe('requests', function () {
axios.post('/foo', input); axios.post('/foo', input);
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
var output = new Int8Array(request.params.buffer); var output = new Int8Array(request.params.buffer);
expect(output.length).toEqual(2); expect(output.length).toEqual(2);
expect(output[0]).toEqual(1); expect(output[0]).toEqual(1);
expect(output[1]).toEqual(2); expect(output[1]).toEqual(2);
done(); done();
}, 0); });
}); });
it('should support array buffer response', function (done) { it('should support array buffer response', function (done) {
@@ -221,9 +203,7 @@ describe('requests', function () {
response = data; response = data;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
response: str2ab('Hello world') response: str2ab('Hello world')
@@ -232,8 +212,8 @@ describe('requests', function () {
setTimeout(function () { setTimeout(function () {
expect(response.data.byteLength).toBe(22); expect(response.data.byteLength).toBe(22);
done(); done();
}, 0); });
}, 0); });
}); });
}); });
+12 -21
View File
@@ -1,4 +1,5 @@
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
describe('transform', function () { describe('transform', function () {
beforeEach(function () { beforeEach(function () {
@@ -16,12 +17,10 @@ describe('transform', function () {
axios.post('/foo', data); axios.post('/foo', data);
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.params).toEqual('{"foo":"bar"}'); expect(request.params).toEqual('{"foo":"bar"}');
done(); done();
}, 0); });
}); });
it('should transform string to JSON', function (done) { it('should transform string to JSON', function (done) {
@@ -31,9 +30,7 @@ describe('transform', function () {
response = data; response = data;
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({ request.respondWith({
status: 200, status: 200,
responseText: '{"foo": "bar"}' responseText: '{"foo": "bar"}'
@@ -43,8 +40,8 @@ describe('transform', function () {
expect(typeof response.data).toEqual('object'); expect(typeof response.data).toEqual('object');
expect(response.data.foo).toEqual('bar'); expect(response.data.foo).toEqual('bar');
done(); done();
}, 0); });
}, 0); });
}); });
it('should override default transform', function (done) { it('should override default transform', function (done) {
@@ -58,12 +55,10 @@ describe('transform', function () {
} }
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(typeof request.params).toEqual('object'); expect(typeof request.params).toEqual('object');
done(); done();
}, 0); });
}); });
it('should allow an Array of transformers', function (done) { it('should allow an Array of transformers', function (done) {
@@ -79,12 +74,10 @@ describe('transform', function () {
) )
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.params).toEqual('{"foo":"baz"}'); expect(request.params).toEqual('{"foo":"baz"}');
done(); done();
}, 0); });
}); });
it('should allowing mutating headers', function (done) { it('should allowing mutating headers', function (done) {
@@ -96,11 +89,9 @@ describe('transform', function () {
} }
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['X-Authorization']).toEqual(token); expect(request.requestHeaders['X-Authorization']).toEqual(token);
done(); done();
}, 0); });
}); });
}); });
+7 -14
View File
@@ -1,4 +1,5 @@
var axios = require('../../index'); var axios = require('../../index');
var getAjaxRequest = require('./__getAjaxRequest');
describe('xsrf', function () { describe('xsrf', function () {
beforeEach(function () { beforeEach(function () {
@@ -13,12 +14,10 @@ describe('xsrf', function () {
it('should not set xsrf header if cookie is null', function (done) { it('should not set xsrf header if cookie is null', function (done) {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined); expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined);
done(); done();
}, 0); });
}); });
it('should set xsrf header if cookie is set', function (done) { it('should set xsrf header if cookie is set', function (done) {
@@ -26,12 +25,10 @@ describe('xsrf', function () {
axios('/foo'); axios('/foo');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345'); expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345');
done(); done();
}, 0); });
}); });
it('should not set xsrf header for cross origin', function (done) { it('should not set xsrf header for cross origin', function (done) {
@@ -39,9 +36,7 @@ describe('xsrf', function () {
axios('http://example.com/'); axios('http://example.com/');
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined); expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined);
done(); done();
}); });
@@ -54,9 +49,7 @@ describe('xsrf', function () {
withCredentials: true withCredentials: true
}); });
setTimeout(function () { getAjaxRequest().then(function (request) {
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345'); expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345');
done(); done();
}); });