mirror of
https://github.com/tenrok/axios.git
synced 2026-05-21 13:24:11 +03:00
5ad6994da3
* Draft * Added support for primitive types to be converted to JSON if the request Content-Type is 'application/json'; Added throwing SyntaxError if JSON parsing failed and responseType is json; Added transitional option object; Added options validator to assert transitional options; Added transitional option `silentJSONParsing= true` for backward compatibility; Updated README.md; Updated typings; * Fixed isOlderVersion helper; Fixed typo; Added validator.spec.js; * Added forcedJSONParsing transitional option #2791 * `transformData` is now called in the default configuration context if the function context is not specified (for tests compatibility); * Added `transitional.clarifyTimeoutError` to throw ETIMEDOUT error instead of generic ECONNABORTED on request timeouts; Added support of onloadend handler if available instead of onreadystatechange; Added xhr timeout test; Fixed potential bug of xhr adapter with proper handling timeouts&errors (FakeXMLHTTPRequest failed to handle timeouts);
59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
var validator = require('../../../lib/helpers/validator');
|
|
|
|
describe('validator::isOlderVersion', function () {
|
|
it('should return true if dest version is older than the package version', function () {
|
|
expect(validator.isOlderVersion('0.0.1', '1.0.0')).toEqual(true);
|
|
expect(validator.isOlderVersion('0.0.1', '0.1.0')).toEqual(true);
|
|
expect(validator.isOlderVersion('0.0.1', '0.0.1')).toEqual(false);
|
|
|
|
|
|
expect(validator.isOlderVersion('100.0.0', '1.0.0')).toEqual(false);
|
|
expect(validator.isOlderVersion('100.0.0', '0.1.0')).toEqual(false);
|
|
expect(validator.isOlderVersion('100.0.0', '0.0.1')).toEqual(false);
|
|
|
|
expect(validator.isOlderVersion('0.10000.0', '1000.0.1')).toEqual(true);
|
|
});
|
|
});
|
|
|
|
describe('validator::assertOptions', function () {
|
|
it('should throw only if unknown an option was passed', function () {
|
|
expect(function() {
|
|
validator.assertOptions({
|
|
x: true
|
|
}, {
|
|
y: validator.validators.boolean
|
|
});
|
|
}).toThrow(new Error('Unknown option x'));
|
|
|
|
expect(function() {
|
|
validator.assertOptions({
|
|
x: true
|
|
}, {
|
|
x: validator.validators.boolean,
|
|
y: validator.validators.boolean
|
|
});
|
|
}).not.toThrow(new Error('Unknown option x'));
|
|
});
|
|
|
|
it('should throw TypeError only if option type doesn\'t match', function () {
|
|
expect(function() {
|
|
validator.assertOptions({
|
|
x: 123
|
|
}, {
|
|
x: validator.validators.boolean
|
|
});
|
|
}).toThrow(new TypeError('option x must be a boolean'));
|
|
|
|
expect(function() {
|
|
validator.assertOptions({
|
|
x: true
|
|
}, {
|
|
x: validator.validators.boolean,
|
|
y: validator.validators.boolean
|
|
});
|
|
}).not.toThrow();
|
|
});
|
|
});
|