mirror of
https://github.com/youzan/vant.git
synced 2025-10-21 11:17:41 +00:00
[Improvement] Rebuild test system (#1051)
This commit is contained in:
55
packages/utils/test/index.spec.js
Normal file
55
packages/utils/test/index.spec.js
Normal file
@@ -0,0 +1,55 @@
|
||||
import deepClone from '../deep-clone';
|
||||
import { isAndroid, isDef, camelize, get } from '..';
|
||||
import { raf, cancel } from '../raf';
|
||||
|
||||
test('deepClone', () => {
|
||||
const a = { foo: 0 };
|
||||
const b = { foo: 0, bar: 1 };
|
||||
const fn = () => { };
|
||||
const arr = [a, b];
|
||||
expect(deepClone(a)).toEqual(a);
|
||||
expect(deepClone(b)).toEqual(b);
|
||||
expect(deepClone(fn)).toEqual(fn);
|
||||
expect(deepClone(arr)).toEqual(arr);
|
||||
expect(deepClone(undefined)).toEqual(undefined);
|
||||
expect(deepClone(1)).toEqual(1);
|
||||
});
|
||||
|
||||
test('isDef', () => {
|
||||
expect(isDef(null)).toBeFalsy();
|
||||
expect(isDef(undefined)).toBeFalsy();
|
||||
expect(isDef(1)).toBeTruthy();
|
||||
expect(isDef('1')).toBeTruthy();
|
||||
expect(isDef({})).toBeTruthy();
|
||||
expect(isDef(() => { })).toBeTruthy();
|
||||
});
|
||||
|
||||
test('camelize', () => {
|
||||
expect(camelize('ab')).toEqual('ab');
|
||||
expect(camelize('a-b')).toEqual('aB');
|
||||
expect(camelize('a-b-c-d')).toEqual('aBCD');
|
||||
expect(camelize('a-b-')).toEqual('aB-');
|
||||
expect(camelize('-a-b')).toEqual('AB');
|
||||
expect(camelize('-')).toEqual('-');
|
||||
});
|
||||
|
||||
test('get', () => {
|
||||
expect(get({ a: 1 }, 'a')).toEqual(1);
|
||||
expect(get({ a: { b: 2 }}, 'a.b')).toEqual(2);
|
||||
expect(get({ a: { b: 2 }}, 'a.b.c')).toEqual('');
|
||||
});
|
||||
|
||||
test('isAndroid', () => {
|
||||
expect(isAndroid()).toBeFalsy();
|
||||
});
|
||||
|
||||
test('raf', (done) => {
|
||||
const spy = jest.fn();
|
||||
raf(spy);
|
||||
|
||||
setTimeout(() => {
|
||||
expect(spy.mock.calls.length).toBe(1);
|
||||
cancel(1);
|
||||
done();
|
||||
}, 50);
|
||||
});
|
Reference in New Issue
Block a user