axios-miniprogram/test/helpers/utils.test.ts

48 lines
1.2 KiB
TypeScript
Raw Normal View History

2020-04-20 10:34:16 +08:00
/*
* @Author: early-autumn
* @Date: 2020-04-20 10:02:56
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-20 10:23:45
*/
import { encode, isDate, isPlainObject, deepMerge, pick, omit } from '../../src/helpers/utils';
describe('测试 src/helpers/utils.ts', () => {
it('encode 特殊字符转换', () => {
expect(encode('@:, []$')).toBe('@:,+[]$');
});
it('isDate', () => {
expect(isDate(new Date())).toBe(true);
expect(isDate('')).toBe(false);
expect(isDate(Date)).toBe(false);
});
it('isPlainObject', () => {
expect(isPlainObject({})).toBe(true);
expect(isPlainObject(Object.create(null))).toBe(true);
expect(isPlainObject('')).toBe(false);
expect(isPlainObject(Object)).toBe(false);
});
it('deepMerge', () => {
expect(deepMerge({}, {})).toEqual({});
expect(deepMerge({ a: 0, b: '1', c: { a: 0, b: '1' } }, { a: 1, b: '1', c: { a: 1, b: '1' } })).toEqual({
a: 1,
b: '1',
c: { a: 1, b: '1' },
});
});
it('pick', () => {
expect(pick({})).toEqual({});
expect(pick({ a: 0, b: 0 }, 'a')).toEqual({ a: 0 });
});
it('omit', () => {
expect(omit({})).toEqual({});
expect(omit({ a: 0, b: 0 }, 'a')).toEqual({ b: 0 });
});
});