diff --git a/packages/util/__tests__/lib/data.test.ts b/packages/util/__tests__/lib/data.test.ts new file mode 100644 index 0000000..f385101 --- /dev/null +++ b/packages/util/__tests__/lib/data.test.ts @@ -0,0 +1,47 @@ +import { + deepClone +} from '../../src/lib/data'; + + +describe('@idraw/util: lib/data', () => { + const json = { + num: 123, + str: 'abc', + bool: true, + arr: [ + { + num: 1, + str: 'a', + bool: false, + }, + { + num: 2, + str: 'b', + bool: false, + } + ], + json: { + num: 10, + str: 'aaaa', + bool: false, + json: { + num: 11, + str: 'bbbb', + bool: false, + } + } + } + + const json2 = deepClone(json); + json2.json.json.num *= 2; + + test('deepClone', async () => { + const result = deepClone(json); + result.json.json.num *= 2; + expect(result).toStrictEqual(json2); + }); + + + +}); +