axios-miniprogram/__tests__/helpers/utils.spec.ts

42 lines
1.1 KiB
TypeScript
Raw Normal View History

2020-07-27 11:40:32 +08:00
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 });
});
});