From f8915297f4680c9d565da260604ffeab01616ba8 Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Tue, 28 Jul 2026 14:40:29 +0200 Subject: [PATCH] test(i18n): add describe to currentLanguage test --- src/utils/__tests__/currentLanguage.test.js | 70 ++++++++++----------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/utils/__tests__/currentLanguage.test.js b/src/utils/__tests__/currentLanguage.test.js index de5d110..079dee8 100644 --- a/src/utils/__tests__/currentLanguage.test.js +++ b/src/utils/__tests__/currentLanguage.test.js @@ -14,48 +14,48 @@ See the License for the specific language governing permissions and limitations under the License. */ -import { expect, test } from 'vitest'; +import { describe, expect, test } from 'vitest'; import getCurrentLanguage from '../currentLanguage'; -const locales = [ - { navigatorLanguage: 'en', localStorageLanguage: null, expected: 'en'}, - { navigatorLanguage: 'de', localStorageLanguage: null, expected: 'de'}, - { navigatorLanguage: 'fr', localStorageLanguage: null, expected: 'fr'}, +describe('currentLanguage', () => { + test.for([ + { navigatorLanguage: 'en', localStorageLanguage: null, expected: 'en'}, + { navigatorLanguage: 'de', localStorageLanguage: null, expected: 'de'}, + { navigatorLanguage: 'fr', localStorageLanguage: null, expected: 'fr'}, - { navigatorLanguage: 'en-US', localStorageLanguage: null, expected: 'en'}, - { navigatorLanguage: 'en-AU', localStorageLanguage: null, expected: 'en'}, - { navigatorLanguage: 'de-DE', localStorageLanguage: null, expected: 'de'}, - { navigatorLanguage: 'fr-FR', localStorageLanguage: null, expected: 'fr'}, + { navigatorLanguage: 'en-US', localStorageLanguage: null, expected: 'en'}, + { navigatorLanguage: 'en-AU', localStorageLanguage: null, expected: 'en'}, + { navigatorLanguage: 'de-DE', localStorageLanguage: null, expected: 'de'}, + { navigatorLanguage: 'fr-FR', localStorageLanguage: null, expected: 'fr'}, - { navigatorLanguage: 'en-us', localStorageLanguage: null, expected: 'en'}, - { navigatorLanguage: 'en-au', localStorageLanguage: null, expected: 'en'}, - { navigatorLanguage: 'de-de', localStorageLanguage: null, expected: 'de'}, - { navigatorLanguage: 'fr-fr', localStorageLanguage: null, expected: 'fr'}, + { navigatorLanguage: 'en-us', localStorageLanguage: null, expected: 'en'}, + { navigatorLanguage: 'en-au', localStorageLanguage: null, expected: 'en'}, + { navigatorLanguage: 'de-de', localStorageLanguage: null, expected: 'de'}, + { navigatorLanguage: 'fr-fr', localStorageLanguage: null, expected: 'fr'}, - { navigatorLanguage: 'zh-Hans-CN', localStorageLanguage: null, expected: 'zh'}, - { navigatorLanguage: 'zh-Hant-TW', localStorageLanguage: null, expected: 'zh'}, - { navigatorLanguage: 'uz-Latn-UZ', localStorageLanguage: null, expected: 'uz'}, + { navigatorLanguage: 'zh-Hans-CN', localStorageLanguage: null, expected: 'zh'}, + { navigatorLanguage: 'zh-Hant-TW', localStorageLanguage: null, expected: 'zh'}, + { navigatorLanguage: 'uz-Latn-UZ', localStorageLanguage: null, expected: 'uz'}, - { navigatorLanguage: 'en-US-u-ca-gregory', localStorageLanguage: null, expected: 'en'}, - { navigatorLanguage: 'de-DE-u-co-phonebk', localStorageLanguage: null, expected: 'de'}, - { navigatorLanguage: 'zh-Hant-TW-u-co-phonebk', localStorageLanguage: null, expected: 'zh'}, + { navigatorLanguage: 'en-US-u-ca-gregory', localStorageLanguage: null, expected: 'en'}, + { navigatorLanguage: 'de-DE-u-co-phonebk', localStorageLanguage: null, expected: 'de'}, + { navigatorLanguage: 'zh-Hant-TW-u-co-phonebk', localStorageLanguage: null, expected: 'zh'}, - { navigatorLanguage: 'en', localStorageLanguage: 'de', expected: 'de'}, - { navigatorLanguage: 'de-DE', localStorageLanguage: 'en', expected: 'en'}, - { navigatorLanguage: 'de-de', localStorageLanguage: 'en', expected: 'en'}, - { navigatorLanguage: 'zh-Hans-CN', localStorageLanguage: 'fr', expected: 'fr'}, - { navigatorLanguage: 'en-US-u-ca-gregory', localStorageLanguage: 'zh', expected: 'zh'} -]; + { navigatorLanguage: 'en', localStorageLanguage: 'de', expected: 'de'}, + { navigatorLanguage: 'de-DE', localStorageLanguage: 'en', expected: 'en'}, + { navigatorLanguage: 'de-de', localStorageLanguage: 'en', expected: 'en'}, + { navigatorLanguage: 'zh-Hans-CN', localStorageLanguage: 'fr', expected: 'fr'}, + { navigatorLanguage: 'en-US-u-ca-gregory', localStorageLanguage: 'zh', expected: 'zh'} + ])('returns the language $expected (navigator: $navigatorLanguage; local storage: $localStorageLanguage)', ({ navigatorLanguage, localStorageLanguage, expected }) => { + Object.defineProperty(navigator, 'language', { + value: navigatorLanguage, + configurable: true + }); -test.for(locales)('returns the language $expected (navigator: $navigatorLanguage; local storage: $localStorageLanguage)', ({ navigatorLanguage, localStorageLanguage, expected }) => { - Object.defineProperty(navigator, 'language', { - value: navigatorLanguage, - configurable: true + if (localStorageLanguage) { + localStorage.setItem('locale', localStorageLanguage); + }; + + expect(getCurrentLanguage()).toBe(expected); }); - - if (localStorageLanguage) { - localStorage.setItem('locale', localStorageLanguage); - }; - - expect(getCurrentLanguage()).toBe(expected); }); \ No newline at end of file