| 12345678910111213141516171819202122232425262728 |
- import {expect} from 'chai';
- import {cloneDeep} from './clone-deep.js';
- describe('cloneDeep', function () {
- it('returns a deep copy of a given object', function () {
- const value = {
- stringProp: 'string',
- numberProp: 10,
- booleanProp: true,
- arrayProp: [1, 2, 3],
- objectProp: {
- foo: 'string',
- bar: 'string',
- },
- dateProp: new Date(),
- nullProp: null,
- };
- const result = cloneDeep(value);
- expect(result).to.be.eql(value);
- expect(result).to.be.not.eq(value);
- expect(result.arrayProp).to.be.not.eq(value.arrayProp);
- expect(result.arrayProp).to.be.eql(value.arrayProp);
- expect(result.objectProp).to.be.not.eq(value.objectProp);
- expect(result.objectProp).to.be.eql(value.objectProp);
- expect(result.dateProp).to.be.not.eq(value.dateProp);
- expect(result.dateProp.getTime()).to.be.eq(value.dateProp.getTime());
- });
- });
|