23 lines
578 B
JavaScript
23 lines
578 B
JavaScript
const expect = require('expect');
|
|
const {deepClone} = require('./_30s.js');
|
|
|
|
test('deepClone is a Function', () => {
|
|
expect(deepClone).toBeInstanceOf(Function);
|
|
});
|
|
const a = { foo: 'bar', obj: { a: 1, b: 2 } };
|
|
const b = deepClone(a);
|
|
const c = [{ foo: 'bar' }];
|
|
const d = deepClone(c);
|
|
test('Shallow cloning works', () => {
|
|
expect(a).not.toBe(b);
|
|
});
|
|
test('Deep cloning works', () => {
|
|
expect(a.obj).not.toBe(b.obj);
|
|
});
|
|
test('Array shallow cloning works', () => {
|
|
expect(c).not.toBe(d);
|
|
});
|
|
test('Array deep cloning works', () => {
|
|
expect(c[0]).not.toBe(d[0]);
|
|
});
|