UNPKG

ease-url

Version:

Wow, such a ease url parser

62 lines (43 loc) 2.16 kB
import { EaseUrl } from './../src/parse'; test('EaseUrl instance test', () => { let url = { scheme: 'http', port: 8080, host: 'www.wallework.com', path: '/account', hash: '#hash', query: [{key: 'key', value: 'value'}] } let ease = new EaseUrl() expect(ease.origin).toBe('https://') ease.scheme = url.scheme expect(ease.origin).toBe('http://') ease.host = url.host expect(ease.origin).toBe(`${url.scheme}://${url.host}`) ease.port = url.port expect(ease.origin).toBe(`${url.scheme}://${url.host}:${url.port}`) ease.port = 80 expect(ease.origin).toBe(`${url.scheme}://${url.host}`) ease.query.add('key', 'value') expect(ease.url).toBe(`${url.scheme}://${url.host}/?key=value`) ease.path = url.path expect(ease.url).toBe(`${url.scheme}://${url.host}${url.path}?key=value`) ease.hash = url.hash expect(ease.url).toBe(`${url.scheme}://${url.host}${url.path}?key=value${url.hash}`) ease = EaseUrl.parse(`${url.scheme}://${url.host}${url.path}?key=value${url.hash}`) expect(ease.url).toBe(`${url.scheme}://${url.host}${url.path}?key=value${url.hash}`) ease = EaseUrl.parse(`${url.scheme}://${url.host}${url.path}${url.hash}?key=value`) expect(ease.url).toBe(`${url.scheme}://${url.host}${url.path}${url.hash}?key=value`) ease = EaseUrl.parse(`${url.scheme}://${url.host}${url.path}${url.hash}`) expect(ease.url).toBe(`${url.scheme}://${url.host}${url.path}${url.hash}`) ease = EaseUrl.parse(`${url.scheme}://${url.host}${url.path}`) expect(ease.url).toBe(`${url.scheme}://${url.host}${url.path}`) ease = EaseUrl.parse(`${url.host}${url.path}`) expect(ease.url).toBe(`https://${url.host}${url.path}`) ease = EaseUrl.parse(`${url.host}`) expect(ease.url).toBe(`https://${url.host}/`) ease = EaseUrl.parse(`${url.host}${url.path}${url.hash}?key=value`) expect(ease.url).toBe(`https://${url.host}${url.path}${url.hash}?key=value`) ease = EaseUrl.parse(url) expect(ease.url).toBe(`${url.scheme}://${url.host}:${url.port}${url.path}?key=value${url.hash}`) });