diff --git a/examples/api-tests/src/launch-preferences.spec.js b/examples/api-tests/src/launch-preferences.spec.js index 895362de96da4..7d0ed25785b95 100644 --- a/examples/api-tests/src/launch-preferences.spec.js +++ b/examples/api-tests/src/launch-preferences.spec.js @@ -25,7 +25,7 @@ * Expectations should be tested and aligned against VS Code. * See https://github.com/akosyakov/vscode-launch/blob/master/src/test/extension.test.ts */ -describe.skip('Launch Preferences', function () { +describe('Launch Preferences', function () { this.timeout(10_000); const { assert } = chai; diff --git a/packages/core/src/browser/preferences/preference-provider.spec.ts b/packages/core/src/browser/preferences/preference-provider.spec.ts deleted file mode 100644 index dd692f9566506..0000000000000 --- a/packages/core/src/browser/preferences/preference-provider.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -// ***************************************************************************** -// Copyright (C) 2023 EclipseSource and others. -// -// This program and the accompanying materials are made available under the -// terms of the Eclipse Public License v. 2.0 which is available at -// http://www.eclipse.org/legal/epl-2.0. -// -// This Source Code may also be made available under the following Secondary -// Licenses when the conditions for such availability set forth in the Eclipse -// Public License v. 2.0 are satisfied: GNU General Public License, version 2 -// with the GNU Classpath Exception which is available at -// https://www.gnu.org/software/classpath/license.html. -// -// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 -// ***************************************************************************** - -import { PreferenceProvider } from './preference-provider'; -const { expect } = require('chai'); - -describe('PreferenceProvider', () => { - it('should preserve extra source fields on merge', () => { - const result = PreferenceProvider.merge({ 'configurations': [], 'compounds': [] }, { 'configurations': [] }); - expect(result).deep.equals({ 'configurations': [], 'compounds': [] }); - }); - it('should preserve extra target fields on merge', () => { - const result = PreferenceProvider.merge({ 'configurations': [] }, { 'configurations': [], 'compounds': [] }); - expect(result).deep.equals({ 'configurations': [], 'compounds': [] }); - }); - it('should merge array values', () => { - const result = PreferenceProvider.merge( - { 'configurations': [{ 'name': 'test1', 'request': 'launch' }], 'compounds': [] }, - { 'configurations': [{ 'name': 'test2' }] } - ); - expect(result).deep.equals({ 'configurations': [{ 'name': 'test1', 'request': 'launch' }, { 'name': 'test2' }], 'compounds': [] }); - }); -}); diff --git a/packages/core/src/browser/preferences/preference-provider.ts b/packages/core/src/browser/preferences/preference-provider.ts index 8b6b490708803..a4f0a9faf7f68 100644 --- a/packages/core/src/browser/preferences/preference-provider.ts +++ b/packages/core/src/browser/preferences/preference-provider.ts @@ -235,9 +235,6 @@ export abstract class PreferenceProvider implements Disposable { if (JSONExt.isObject(source[key]) && JSONExt.isObject(value)) { this.merge(source[key], value); continue; - } else if (JSONExt.isArray(source[key]) && JSONExt.isArray(value)) { - source[key] = [...JSONExt.deepCopy(source[key] as any), ...JSONExt.deepCopy(value)]; - continue; } } source[key] = JSONExt.deepCopy(value);