mirror of
https://github.com/tenrok/axios.git
synced 2026-05-18 12:39:44 +03:00
8a8c534a60
* removing @ character from replacement list since it is a reserved character * Updating buildURL test to not include the @ character * Removing console logs Co-authored-by: Jay <jasonsaayman@gmail.com>
76 lines
2.0 KiB
JavaScript
76 lines
2.0 KiB
JavaScript
var buildURL = require('../../../lib/helpers/buildURL');
|
|
var URLSearchParams = require('url-search-params');
|
|
|
|
describe('helpers::buildURL', function () {
|
|
it('should support null params', function () {
|
|
expect(buildURL('/foo')).toEqual('/foo');
|
|
});
|
|
|
|
it('should support params', function () {
|
|
expect(buildURL('/foo', {
|
|
foo: 'bar'
|
|
})).toEqual('/foo?foo=bar');
|
|
});
|
|
|
|
it('should support object params', function () {
|
|
expect(buildURL('/foo', {
|
|
foo: {
|
|
bar: 'baz'
|
|
}
|
|
})).toEqual('/foo?foo=' + encodeURI('{"bar":"baz"}'));
|
|
});
|
|
|
|
it('should support date params', function () {
|
|
var date = new Date();
|
|
|
|
expect(buildURL('/foo', {
|
|
date: date
|
|
})).toEqual('/foo?date=' + date.toISOString());
|
|
});
|
|
|
|
it('should support array params', function () {
|
|
expect(buildURL('/foo', {
|
|
foo: ['bar', 'baz']
|
|
})).toEqual('/foo?foo[]=bar&foo[]=baz');
|
|
});
|
|
|
|
it('should support special char params', function () {
|
|
expect(buildURL('/foo', {
|
|
foo: ':$, '
|
|
})).toEqual('/foo?foo=:$,+');
|
|
});
|
|
|
|
it('should support existing params', function () {
|
|
expect(buildURL('/foo?foo=bar', {
|
|
bar: 'baz'
|
|
})).toEqual('/foo?foo=bar&bar=baz');
|
|
});
|
|
|
|
it('should support "length" parameter', function () {
|
|
expect(buildURL('/foo', {
|
|
query: 'bar',
|
|
start: 0,
|
|
length: 5
|
|
})).toEqual('/foo?query=bar&start=0&length=5');
|
|
});
|
|
|
|
it('should correct discard url hash mark', function () {
|
|
expect(buildURL('/foo?foo=bar#hash', {
|
|
query: 'baz'
|
|
})).toEqual('/foo?foo=bar&query=baz');
|
|
});
|
|
|
|
it('should use serializer if provided', function () {
|
|
serializer = sinon.stub();
|
|
params = {foo: 'bar'};
|
|
serializer.returns('foo=bar');
|
|
expect(buildURL('/foo', params, serializer)).toEqual('/foo?foo=bar');
|
|
expect(serializer.calledOnce).toBe(true);
|
|
expect(serializer.calledWith(params)).toBe(true);
|
|
});
|
|
|
|
it('should support URLSearchParams', function () {
|
|
expect(buildURL('/foo', new URLSearchParams('bar=baz'))).toEqual('/foo?bar=baz');
|
|
});
|
|
});
|