From 62f068d83f06c5eb512dd94d396f560ba0932ab2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 08:41:56 +0000 Subject: [PATCH 1/3] Initial plan From 44acb8977ae46ed8e099e879efcdb8b3be8353ab Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 08:46:11 +0000 Subject: [PATCH 2/3] fix(tests): use Object.defineProperty instead of sinon.define with cleanup Co-authored-by: jankapunkt <1135285+jankapunkt@users.noreply.github.com> --- tests/unit.tests.js | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/tests/unit.tests.js b/tests/unit.tests.js index 5ca468e..d15b3ce 100644 --- a/tests/unit.tests.js +++ b/tests/unit.tests.js @@ -126,18 +126,29 @@ describe('unit tests', function () { expect(defaultVoice).to.equal(voices[1]) }) it('sets a language-specific voice as default voice, if no .default is available', async () => { + let navigatorDefined = false if (globalThis.navigator) { sinon.stub(globalThis.navigator, 'language').get(() => 'de-DE') } else { - sinon.define(globalThis, 'navigator', { language: 'de-DE' }) + Object.defineProperty(globalThis, 'navigator', { + value: { language: 'de-DE' }, + configurable: true + }) + navigatorDefined = true } - const voices = [{}, {}, { lang: 'de_DE' }] - await initScope({ - speechSynthesis: { getVoices: () => voices } - }) - const { defaultVoice } = EasySpeech.status() - expect(defaultVoice).to.equal(voices[2]) + try { + const voices = [{}, {}, { lang: 'de_DE' }] + await initScope({ + speechSynthesis: { getVoices: () => voices } + }) + const { defaultVoice } = EasySpeech.status() + expect(defaultVoice).to.equal(voices[2]) + } finally { + if (navigatorDefined) { + delete globalThis.navigator + } + } }) it('sets he first available voice as default, if no lang is available', async () => { const voices = [{}, {}, {}] From 871ee6c943e8e703d2113d00128d21264434072f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Dec 2025 08:47:18 +0000 Subject: [PATCH 3/3] fix(tests): add writable property to Object.defineProperty Co-authored-by: jankapunkt <1135285+jankapunkt@users.noreply.github.com> --- tests/unit.tests.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/unit.tests.js b/tests/unit.tests.js index d15b3ce..8ff5dfb 100644 --- a/tests/unit.tests.js +++ b/tests/unit.tests.js @@ -132,7 +132,8 @@ describe('unit tests', function () { } else { Object.defineProperty(globalThis, 'navigator', { value: { language: 'de-DE' }, - configurable: true + configurable: true, + writable: true }) navigatorDefined = true }