Files
ohif-viewer/platform/core/src/utils/absoluteUrl.test.js
T

45 lines
1.6 KiB
JavaScript

import absoluteUrl from './absoluteUrl';
describe('absoluteUrl', () => {
test('should return /path_1/path_2/path_3/path_to_destination when the window.location.origin is http://dummy.com/path_1/path_2 and the path is /path_3/path_to_destination', () => {
let global = {
window: Object.create(window),
};
const url = 'http://dummy.com/path_1/path_2';
Object.defineProperty(window, 'location', {
value: {
origin: url,
},
writable: true,
});
const absoluteUrlOutput = absoluteUrl('/path_3/path_to_destination');
expect(absoluteUrlOutput).toEqual('/path_1/path_2/path_3/path_to_destination');
});
test('should return / when the path is not defined', () => {
const absoluteUrlOutput = absoluteUrl(undefined);
expect(absoluteUrlOutput).toBe('/');
});
test('should return the original path when there path in the window.origin after the domain and port', () => {
delete global.window.location;
const url = 'http://dummy.com';
global.window.location = {
origin: url,
};
const absoluteUrlOutput = absoluteUrl('path_1/path_2/path_3');
expect(absoluteUrlOutput).toEqual('/path_1/path_2/path_3');
});
test('should be able to return the absolute path even when the path contains duplicates', () => {
global.window ||= Object.create(window);
const url = 'http://dummy.com';
delete global.window.location;
global.window.location = {
origin: url,
};
const absoluteUrlOutput = absoluteUrl('path_1/path_1/path_1');
expect(absoluteUrlOutput).toEqual('/path_1/path_1/path_1');
});
});