| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import { joinUrl, getFullUrlPath, parseQueryString } from '../src/utils';
- describe('Utils', function () {
- describe('parseQueryString()', () => {
- it('should be defined', () => {
- expect(parseQueryString).toBeDefined();
- });
- it('should parse a query string', () => {
- const querystring = 'hello=world&foo=bar';
- expect(parseQueryString(querystring)).toEqual({ hello: 'world', foo: 'bar' });
- });
- });
- describe('joinUrl()', () => {
- it('should be defined', () => {
- expect(joinUrl).toBeDefined();
- });
- it('should merge baseUrl with relative url', () => {
- const baseUrl = 'http://localhost:3000';
- const urlPath = '/auth/facebook';
- expect(joinUrl(baseUrl, urlPath)).toEqual('http://localhost:3000/auth/facebook');
- });
- });
- describe('getFullUrlPath()', () => {
- it('should be defined', () => {
- expect(getFullUrlPath).toBeDefined();
- });
- it('should normalize full url from window.location', () => {
- const url1 = getFullUrlPath({
- hash: '#/',
- host: 'localhost:3000',
- hostname: 'localhost',
- href: 'http://localhost:3000/#/',
- origin: 'http://localhost:3000',
- pathname: '/',
- port: '3000',
- protocol: 'http:',
- search: ''
- });
- const url2 = getFullUrlPath({
- protocol: 'http:',
- hostname: 'google.com',
- port: '',
- pathname: '/test'
- });
- const url3 = getFullUrlPath({
- protocol: 'https:',
- hostname: 'google.com',
- port: '',
- pathname: '/test'
- });
- expect(url1).toEqual('http://localhost:3000/');
- expect(url2).toEqual('http://google.com:80/test');
- expect(url3).toEqual('https://google.com:443/test');
- });
- it('should normalize full url from createElement("a")', function () {
- const urlElement = document.createElement('a');
- urlElement.href = 'http://d4507eb5.ngrok.io/#/';
- const url1 = getFullUrlPath(urlElement);
- urlElement.href = 'https://google.com/test';
- const url2 = getFullUrlPath(urlElement);
- urlElement.href = 'http://localhost:3000/';
- const url3 = getFullUrlPath(urlElement);
- expect(url1).toEqual('http://d4507eb5.ngrok.io:80/');
- expect(url2).toEqual('https://google.com:443/test');
- expect(url3).toEqual('http://localhost:3000/');
- });
- });
- });
|