mirror of
https://github.com/tenrok/axios.git
synced 2026-06-11 18:02:32 +03:00
Merge pull request #160 from nickuraltsev/base-url
Add support for baseURL parameter
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
var combineURLs = require('../../../lib/helpers/combineURLs');
|
||||
|
||||
describe('helpers::combineURLs', function () {
|
||||
it('should combine URLs', function () {
|
||||
expect(combineURLs('https://api.github.com', '/users')).toBe('https://api.github.com/users');
|
||||
});
|
||||
|
||||
it('should remove duplicate slashes', function () {
|
||||
expect(combineURLs('https://api.github.com/', '/users')).toBe('https://api.github.com/users');
|
||||
});
|
||||
|
||||
it('should insert missing slash', function () {
|
||||
expect(combineURLs('https://api.github.com', 'users')).toBe('https://api.github.com/users');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,23 @@
|
||||
var isAbsoluteURL = require('../../../lib/helpers/isAbsoluteURL');
|
||||
|
||||
describe('helpers::isAbsoluteURL', function () {
|
||||
it('should return true if URL begins with valid scheme name', function () {
|
||||
expect(isAbsoluteURL('https://api.github.com/users')).toBe(true);
|
||||
expect(isAbsoluteURL('custom-scheme-v1.0://example.com/')).toBe(true);
|
||||
expect(isAbsoluteURL('HTTP://example.com/')).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false if URL begins with invalid scheme name', function () {
|
||||
expect(isAbsoluteURL('123://example.com/')).toBe(false);
|
||||
expect(isAbsoluteURL('!valid://example.com/')).toBe(false);
|
||||
});
|
||||
|
||||
it('should return true if URL is protocol-relative', function () {
|
||||
expect(isAbsoluteURL('//example.com/')).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false if URL is relative', function () {
|
||||
expect(isAbsoluteURL('/foo')).toBe(false);
|
||||
expect(isAbsoluteURL('foo')).toBe(false);
|
||||
});
|
||||
});
|
||||
@@ -78,4 +78,42 @@ describe('options', function () {
|
||||
done();
|
||||
}, 0);
|
||||
});
|
||||
|
||||
it('should accept base URL', function (done) {
|
||||
var request;
|
||||
|
||||
const instance = axios.create({
|
||||
baseURL: 'http://test.com/'
|
||||
});
|
||||
|
||||
instance.request({
|
||||
url: '/foo'
|
||||
});
|
||||
|
||||
setTimeout(function () {
|
||||
request = jasmine.Ajax.requests.mostRecent();
|
||||
|
||||
expect(request.url).toBe('http://test.com/foo');
|
||||
done();
|
||||
}, 0);
|
||||
});
|
||||
|
||||
it('should ignore base URL if request URL is absolute', function (done) {
|
||||
var request;
|
||||
|
||||
const instance = axios.create({
|
||||
baseURL: 'http://someurl.com/'
|
||||
});
|
||||
|
||||
instance.request({
|
||||
url: 'http://someotherurl.com/'
|
||||
});
|
||||
|
||||
setTimeout(function () {
|
||||
request = jasmine.Ajax.requests.mostRecent();
|
||||
|
||||
expect(request.url).toBe('http://someotherurl.com/');
|
||||
done();
|
||||
}, 0);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user