[fix] test_locale_optimized_territory_1_fr (test_locales.TestLocales)
Unit test fails::
Traceback (most recent call last):
File "/share/searxng/local/py3/lib/python3.10/site-packages/parameterized/parameterized.py", line 620, in standalone_func
return func(*(a + p.args), **p.kwargs, **kw)
File "/share/searxng/tests/unit/test_locales.py", line 121, in test_locale_optimized_territory
self.assertEqual(locales.match_locale(locale, locale_list), expected_locale)
AssertionError: 'fr-CH' != 'fr-BE'
- fr-CH
+ fr-BE
With the `babel` update from 2.17.0 to 2.18.0 the population DB has been
updated (the test was implemented for the old values).
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
committed by
Markus Heiser
parent
578e59a54e
commit
b5bb27f231
@@ -366,7 +366,7 @@ def get_engine_locale(searxng_locale: str, engine_locales: dict[str, str], defau
|
||||
if engine_locale is None:
|
||||
engine_locale = default
|
||||
|
||||
return default
|
||||
return engine_locale
|
||||
|
||||
|
||||
def match_locale(searxng_locale: str, locale_tag_list: list[str], fallback: str | None = None) -> str | None:
|
||||
|
||||
@@ -99,11 +99,17 @@ class TestLocales(SearxTestCase):
|
||||
|
||||
@parameterized.expand(
|
||||
[
|
||||
('fr-BE', ['fr-FR', 'fr-CA', 'nl-BE'], 'nl-BE'), # A user selects region 'fr-BE' which should end in nl-BE
|
||||
('fr', ['fr-BE', 'fr-CH'], 'fr-BE'), # A user selects fr with 2 locales,
|
||||
# the get_engine_locale selects the locale by looking at the "population
|
||||
# percent" and this percentage has an higher amount in BE (68.%)
|
||||
# compared to CH (21%)
|
||||
# approximation rule (*by territory*) -> territory has priority over the lang:
|
||||
# A user selects region 'fr-BE' which should end in nl-BE
|
||||
('fr-BE', ['fr-FR', 'fr-CA', 'nl-BE'], 'nl-BE'),
|
||||
# approximation rule (*by language*) -> Check in which territories
|
||||
# the language has an official status and if one of these
|
||||
# territories is supported:
|
||||
# A user selects fr with 2 locales where fr is a offical language,
|
||||
# the get_engine_locale selects the locale by looking at the
|
||||
# "population percent" and this percentage has a higher amount in
|
||||
# BE (population 38%) compared to IT (population 20).
|
||||
('fr', ['fr-BE', 'fr-IT'], 'fr-BE'),
|
||||
]
|
||||
)
|
||||
def test_locale_optimized_territory(self, locale: str, locale_list: list[str], expected_locale: str):
|
||||
|
||||
Reference in New Issue
Block a user