Add current language utility unit test #106

Merged
jakob.scheid merged 17 commits from testing/current-language-util into main 2026-06-04 12:41:55 +02:00
Showing only changes of commit a78fa93b51 - Show all commits
+20 -20
View File
@@ -18,27 +18,27 @@ import { expect, test } from 'vitest';
import getCurrentLanguage from '../currentLanguage'; import getCurrentLanguage from '../currentLanguage';
const locales = [ const locales = [
['en', 'en'], { navigatorLanguage: 'en', expected: 'en'},
['de', 'de'], { navigatorLanguage: 'de', expected: 'de'},
['fr', 'fr'], { navigatorLanguage: 'fr', expected: 'fr'},
['en-US', 'en'], { navigatorLanguage: 'en-US', expected: 'en'},
['en-AU', 'en'], { navigatorLanguage: 'en-AU', expected: 'en'},
['de-DE', 'de'], { navigatorLanguage: 'de-DE', expected: 'de'},
['fr-FR', 'fr'], { navigatorLanguage: 'fr-FR', expected: 'fr'},
['en-us', 'en'], { navigatorLanguage: 'en-us', expected: 'en'},
['en-au', 'en'], { navigatorLanguage: 'en-au', expected: 'en'},
['de-de', 'de'], { navigatorLanguage: 'de-de', expected: 'de'},
['fr-fr', 'fr'], { navigatorLanguage: 'fr-fr', expected: 'fr'},
['zh-Hans-CN', 'zh'], { navigatorLanguage: 'zh-Hans-CN', expected: 'zh'},
['zh-Hant-TW', 'zh'], { navigatorLanguage: 'zh-Hant-TW', expected: 'zh'},
['uz-Latn-UZ', 'uz'], { navigatorLanguage: 'uz-Latn-UZ', expected: 'uz'},
['en-US-u-ca-gregory', 'en'], { navigatorLanguage: 'en-US-u-ca-gregory', expected: 'en'},
['de-DE-u-co-phonebk', 'de'], { navigatorLanguage: 'de-DE-u-co-phonebk', expected: 'de'},
['zh-Hant-TW-u-co-phonebk', 'zh'] { navigatorLanguage: 'zh-Hant-TW-u-co-phonebk', expected: 'zh'}
]; ];
const localStorageLanguages = [ const localStorageLanguages = [
@@ -48,11 +48,11 @@ const localStorageLanguages = [
[null, null] [null, null]
]; ];
test.for(locales)('returns the language \'%s\' for locale only set via navigator.language', ([locale, language]) => { test.for(locales)('returns the language $expected for navigator language $navigatorLanguage', ({ navigatorLanguage, expected }) => {
Object.defineProperty(navigator, 'language', { Object.defineProperty(navigator, 'language', {
value: locale, value: navigatorLanguage,
configurable: true configurable: true
}); });
expect(getCurrentLanguage()).toBe(language) expect(getCurrentLanguage()).toBe(expected);
}); });