spiegel-keyman/linux/keyman-config/tests/keyman_locales_tests.py
Marc Durdin 4180c80dc3
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
chore(linux): improve find_locales to handle . and @ suffixes and add unit tests
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-08-20 17:48:13 +07:00

37 lines
1.3 KiB
Python

#!/usr/bin/env python3
#
# Keyman is copyright (C) SIL Global. MIT License.
#
# Created by Marc Durdin on 2026-08-19
#
# Unit tests for find_locales
#
import os
from unittest import TestCase, mock
from keyman_config.keyman_locales import find_locales
class FindLocalesTests(TestCase):
@mock.patch.dict(os.environ, {"LANGUAGE": "en_US.UTF-8:de_DE.UTF-8"}, True)
def test_find_locales_LANGUAGE(self):
loc = find_locales()
self.assertEqual(loc, ['en_US', 'de_DE', 'C'])
@mock.patch.dict(os.environ, {"LANGUAGE": "en_US.UTF-8:de_DE.UTF-8", "LANG": "fr_FR"}, True)
def test_find_locales_LANGUAGE_and_LANG(self):
loc = find_locales()
self.assertEqual(loc, ['en_US', 'de_DE', 'C'])
@mock.patch.dict(os.environ, {"LANG": "de_DE.UTF-8@euro"}, True)
def test_find_locales_LANG(self):
loc = find_locales()
self.assertEqual(loc, ['de_DE', 'C'])
@mock.patch.dict(os.environ, {"LC_MESSAGES": "km_Khmr_KH.UTF-8"}, True)
def test_find_locales_LC_MESSAGES(self):
loc = find_locales()
self.assertEqual(loc, ['km_Khmr_KH', 'C'])
@mock.patch.dict(os.environ, {"LC_ALL": "km_Khmr_KH.UTF-8"}, True)
def test_find_locales_LC_ALL(self):
loc = find_locales()
self.assertEqual(loc, ['km_Khmr_KH', 'C'])