cartodb-4.42/lib/assets/test/spec/cartodb/old_common/urls/url.spec.js

50 lines
1.6 KiB
JavaScript
Raw Normal View History

2024-04-06 13:25:13 +08:00
describe('cdb.common.Url', function() {
beforeEach(function() {
this.baseUrl = 'http://subdomain.carto.com/foobar';
this.url = new cdb.common.Url({ base_url: this.baseUrl });
});
describe('.pathname', function() {
it('should return the full path of this URL', function() {
expect(this.url.pathname()).toEqual('/foobar');
});
});
describe('.urlToPath', function() {
describe('when given no arguments', function() {
beforeEach(function() {
this.newUrl = this.url.urlToPath();
});
it('should return a new url object', function() {
expect(this.newUrl).not.toBe(this.url);
expect(this.newUrl instanceof cdb.common.Url).toBeTruthy();
});
it('should return a new url object that have the same base url', function() {
expect(this.newUrl.get('base_url')).toContain(this.baseUrl);
});
});
describe('when given any argument', function() {
beforeEach(function() {
this.newUrl = this.url.urlToPath('sub', 'path');
});
it('should return a new url object that have same base url', function() {
expect(this.newUrl.get('base_url')).toContain(this.baseUrl);
});
it('should return a new url object that have the given params as path', function() {
expect(this.newUrl.get('base_url')).toContain(this.baseUrl + '/sub/path');
});
});
});
describe('.toString', function() {
it('should return the string representation of the URL', function() {
expect(this.url.toString()).toEqual(this.baseUrl);
});
});
});