Skip to content

Commit 77ffbe6

Browse files
committed
fix comments
1 parent c4fb7ac commit 77ffbe6

File tree

1 file changed

+37
-29
lines changed

1 file changed

+37
-29
lines changed

Lib/test/test_gettext.py

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -936,39 +936,47 @@ def test_lazy_import(self):
936936
ensure_lazy_imports("gettext", {"re", "warnings", "locale"})
937937

938938

939-
class DGettextTest(unittest.TestCase):
939+
class DGettextTest(GettextBaseTest):
940940

941941
def setUp(self):
942-
self.localedir = self.enterContext(os_helper.temp_dir())
943-
self.domain = 'gettext_domain'
944-
self.mofile = self.setup_dgettext_test_env()
945-
946-
def setup_dgettext_test_env(self):
947-
os.makedirs(os.path.join(self.localedir, 'en', 'LC_MESSAGES'), exist_ok=True)
948-
mofile = os.path.join(self.localedir, 'en', 'LC_MESSAGES', f'{self.domain}.mo')
949-
with open(mofile, 'wb') as fp:
950-
fp.write(b'\x00\x00\x00\x00')
951-
return mofile
942+
GettextBaseTest.setUp(self)
943+
gettext.bindtextdomain('gettext', os.curdir)
952944

953945
def test_dgettext_found_translation(self):
954-
gettext.bindtextdomain(self.domain, self.localedir)
955-
with unittest.mock.patch('gettext.dgettext') as mock_dgettext:
956-
mock_dgettext.return_value = 'test message translation'
957-
result = gettext.dgettext(self.domain, 'test message')
958-
self.assertEqual(result, 'test message translation')
959-
960-
def test_dgettext_missing_translation(self):
961-
gettext.bindtextdomain(self.domain, self.localedir)
962-
result = gettext.dgettext(self.domain, 'missing message')
963-
self.assertEqual(result, 'missing message')
964-
965-
def test_dgettext_non_existent_domain(self):
966-
result = gettext.dgettext('nonexistent_domain', 'test message')
967-
self.assertEqual(result, 'test message')
968-
969-
def test_dgettext_empty_domain(self):
970-
result = gettext.dgettext('', 'test message')
971-
expected = gettext.gettext('test message')
946+
result = gettext.dgettext('gettext', 'mullusk')
947+
self.assertEqual(result, 'bacon')
948+
949+
def test_dgettext_fallback_cases(self):
950+
test_cases = [
951+
('gettext', 'missing message'),
952+
('nonexistent_domain', 'mullusk'),
953+
('', 'mullusk'),
954+
]
955+
for domain, message in test_cases:
956+
with self.subTest(domain=domain, message=message):
957+
result = gettext.dgettext(domain, message)
958+
if domain == '':
959+
expected = gettext.gettext(message)
960+
else:
961+
expected = message
962+
self.assertEqual(result, expected)
963+
964+
def test_dgettext_luxury_yacht_translation(self):
965+
result = gettext.dgettext('gettext', 'Raymond Luxury Yach-t')
966+
self.assertEqual(result, 'Throatwobbler Mangrove')
967+
968+
def test_dgettext_nudge_nudge_translation(self):
969+
result = gettext.dgettext('gettext', 'nudge nudge')
970+
self.assertEqual(result, 'wink wink')
971+
972+
def test_dgettext_multiline_translation(self):
973+
message = '''This module provides internationalization and localization
974+
support for your Python programs by providing an interface to the GNU
975+
gettext message catalog library.'''
976+
expected = '''Guvf zbqhyr cebivqrf vagreangvbanyvmngvba naq ybpnyvmngvba
977+
fhccbeg sbe lbhe Clguba cebtenzf ol cebivqvat na vagresnpr gb gur TAH
978+
trggrkg zrffntr pngnybt yvoenel.'''
979+
result = gettext.dgettext('gettext', message)
972980
self.assertEqual(result, expected)
973981

974982

0 commit comments

Comments
 (0)