@qiniu/miku-delivery-mp-ks
Version:
Kuaishou Mini Program SDK for Miku Delivery
65 lines (64 loc) • 2.65 kB
JavaScript
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');
});
});