From 92fb244e721bc6c85cba7b051c40724192aac259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20M=C3=BCller?= Date: Fri, 11 Feb 2022 03:44:20 +0100 Subject: [PATCH] fix: do not merge arrays (fix #725) (#728) --- packages/vitest/src/utils/base.ts | 6 ------ test/core/test/utils.spec.ts | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/vitest/src/utils/base.ts b/packages/vitest/src/utils/base.ts index 3fbb37caa048..e404697d6d2b 100644 --- a/packages/vitest/src/utils/base.ts +++ b/packages/vitest/src/utils/base.ts @@ -87,12 +87,6 @@ export function deepMerge(targe deepMerge(target[key] as any, source[key] as any) } - else if (Array.isArray(source[key])) { - if (!target[key]) - target[key] = [] as any - - (target[key] as any).push(...source[key] as any) - } else { target[key] = source[key] as any } diff --git a/test/core/test/utils.spec.ts b/test/core/test/utils.spec.ts index aa3bd0cdb459..4b084e3dd1ff 100644 --- a/test/core/test/utils.spec.ts +++ b/test/core/test/utils.spec.ts @@ -3,7 +3,7 @@ import { deepMerge } from '../../../packages/vitest/src/utils' import { deepMergeSnapshot } from '../../../packages/vitest/src/integrations/snapshot/port/utils' describe('deepMerge', () => { - test('non plain objects retain their prototype, arrays are merging, plain objects are merging', () => { + test('non plain objects retain their prototype, arrays are not merging, plain objects are merging', () => { class Test { baz = 'baz' @@ -37,7 +37,7 @@ describe('deepMerge', () => { expect(merged.test instanceof Test).toBe(true) expect(merged.num).toBe(40) - expect(merged.array).toEqual([1, 2, 3, 4]) + expect(merged.array).toEqual([3, 4]) expect(merged.obj).toEqual({ foo: 'foo', baz: 'baz',