UNPKG

@qiniu/miku-delivery-mp-ks

Version:

Kuaishou Mini Program SDK for Miku Delivery

65 lines (64 loc) 2.65 kB
import { getErrInfo, getExt, parseHost } from '.'; describe('getErrInfo', () => { it('should work well', () => { expect(getErrInfo(new Error('foo'))).toEqual({ err_msg: 'Error', err_desc: 'foo' }); }); it('should work well with custom Error class', () => { class MyError extends Error { constructor() { super(...arguments); Object.defineProperty(this, "name", { enumerable: true, configurable: true, writable: true, value: 'MyError' }); } } expect(getErrInfo(new MyError('foo'))).toEqual({ err_msg: 'MyError', err_desc: 'foo' }); }); it('should work well with non-Error values', () => { expect(getErrInfo(null)).toEqual({ err_msg: 'Unknown', err_desc: 'null' }); expect(getErrInfo(undefined)).toEqual({ err_msg: 'Unknown', err_desc: 'undefined' }); expect(getErrInfo('')).toEqual({ err_msg: 'Unknown', err_desc: '' }); expect(getErrInfo('foo')).toEqual({ err_msg: 'Unknown', err_desc: 'foo' }); expect(getErrInfo(1)).toEqual({ err_msg: 'Unknown', err_desc: '1' }); }); }); describe('parseHost', () => { it('should work well', () => { expect(parseHost('foo.com:80')).toEqual(['foo.com', 80]); expect(parseHost('foo.com:8080')).toEqual(['foo.com', 8080]); expect(parseHost('192.0.0.1:80')).toEqual(['192.0.0.1', 80]); }); it('should work well with no port', () => { expect(parseHost('foo.com')).toEqual(['foo.com', 80]); expect(parseHost('192.0.0.1')).toEqual(['192.0.0.1', 80]); }); it('should work well with default port specified', () => { expect(parseHost('foo.com', 443)).toEqual(['foo.com', 443]); expect(parseHost('foo.com:80', 443)).toEqual(['foo.com', 80]); expect(parseHost('192.0.0.1', 0)).toEqual(['192.0.0.1', 0]); expect(parseHost('192.0.0.1:8443', 0)).toEqual(['192.0.0.1', 8443]); }); }); describe('getExt', () => { it('should work well', () => { expect(getExt('foo.jpg')).toBe('jpg'); expect(getExt('foo.bar.jpg')).toBe('jpg'); expect(getExt('foo')).toBe(''); expect(getExt('foo.bar.')).toBe(''); expect(getExt('')).toBe(''); expect(getExt('.')).toBe(''); expect(getExt('foo/bar.jpg')).toBe('jpg'); expect(getExt('foo.png/bar')).toBe(''); expect(getExt('foo.png/bar.jpg')).toBe('jpg'); expect(getExt('foo.png/bar.spec.ts')).toBe('ts'); }); });