mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
[3.13] gh-130655: Increase test coverage of gettext._expand_lang() (GH-130656) (GH-130671)
(cherry picked from commit 24c52cb14c
)
Co-authored-by: Tomas R <tomas.roun8@gmail.com>
This commit is contained in:
parent
ad97027e9b
commit
b223dc70cd
1 changed files with 27 additions and 0 deletions
|
@ -2,6 +2,7 @@ import os
|
|||
import base64
|
||||
import gettext
|
||||
import unittest
|
||||
import unittest.mock
|
||||
from functools import partial
|
||||
|
||||
from test import support
|
||||
|
@ -741,6 +742,32 @@ class GettextCacheTestCase(GettextBaseTest):
|
|||
self.assertEqual(t.__class__, DummyGNUTranslations)
|
||||
|
||||
|
||||
class ExpandLangTestCase(unittest.TestCase):
|
||||
def test_expand_lang(self):
|
||||
# Test all combinations of territory, charset and
|
||||
# modifier (locale extension)
|
||||
locales = {
|
||||
'cs': ['cs'],
|
||||
'cs_CZ': ['cs_CZ', 'cs'],
|
||||
'cs.ISO8859-2': ['cs.ISO8859-2', 'cs'],
|
||||
'cs@euro': ['cs@euro', 'cs'],
|
||||
'cs_CZ.ISO8859-2': ['cs_CZ.ISO8859-2', 'cs_CZ', 'cs.ISO8859-2',
|
||||
'cs'],
|
||||
'cs_CZ@euro': ['cs_CZ@euro', 'cs@euro', 'cs_CZ', 'cs'],
|
||||
'cs.ISO8859-2@euro': ['cs.ISO8859-2@euro', 'cs@euro',
|
||||
'cs.ISO8859-2', 'cs'],
|
||||
'cs_CZ.ISO8859-2@euro': ['cs_CZ.ISO8859-2@euro', 'cs_CZ@euro',
|
||||
'cs.ISO8859-2@euro', 'cs@euro',
|
||||
'cs_CZ.ISO8859-2', 'cs_CZ',
|
||||
'cs.ISO8859-2', 'cs'],
|
||||
}
|
||||
for locale, expanded in locales.items():
|
||||
with self.subTest(locale=locale):
|
||||
with unittest.mock.patch("locale.normalize",
|
||||
return_value=locale):
|
||||
self.assertEqual(gettext._expand_lang(locale), expanded)
|
||||
|
||||
|
||||
class MiscTestCase(unittest.TestCase):
|
||||
def test__all__(self):
|
||||
support.check__all__(self, gettext,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue