|
4 | 4 | import unittest
|
5 | 5 | import unittest.mock
|
6 | 6 | from functools import partial
|
7 |
| -import tempfile |
8 |
| -import shutil |
9 | 7 |
|
10 | 8 | from test import support
|
11 | 9 | from test.support import cpython_only, os_helper
|
@@ -939,45 +937,36 @@ def test_lazy_import(self):
|
939 | 937 |
|
940 | 938 |
|
941 | 939 | class DGettextTest(unittest.TestCase):
|
942 |
| - """Test dgettext() function, which allows translations from specific domains.""" |
943 | 940 |
|
944 | 941 | def setUp(self):
|
945 |
| - """Set up a specific test domain and environment for dgettext tests.""" |
946 |
| - self.localedir = tempfile.mkdtemp() |
947 |
| - self.addCleanup(shutil.rmtree, self.localedir) |
| 942 | + self.localedir = self.enterContext(os_helper.temp_dir()) |
948 | 943 | self.domain = 'gettext_domain'
|
949 | 944 | self.mofile = self.setup_dgettext_test_env()
|
950 | 945 |
|
951 | 946 | def setup_dgettext_test_env(self):
|
952 |
| - """Create a mo file for dgettext testing.""" |
953 | 947 | os.makedirs(os.path.join(self.localedir, 'en', 'LC_MESSAGES'), exist_ok=True)
|
954 | 948 | mofile = os.path.join(self.localedir, 'en', 'LC_MESSAGES', f'{self.domain}.mo')
|
955 | 949 | with open(mofile, 'wb') as fp:
|
956 | 950 | fp.write(b'\x00\x00\x00\x00')
|
957 | 951 | return mofile
|
958 | 952 |
|
959 | 953 | def test_dgettext_found_translation(self):
|
960 |
| - """Test dgettext finds translation in specified domain.""" |
961 | 954 | gettext.bindtextdomain(self.domain, self.localedir)
|
962 | 955 | with unittest.mock.patch('gettext.dgettext') as mock_dgettext:
|
963 | 956 | mock_dgettext.return_value = 'test message translation'
|
964 | 957 | result = gettext.dgettext(self.domain, 'test message')
|
965 | 958 | self.assertEqual(result, 'test message translation')
|
966 | 959 |
|
967 | 960 | def test_dgettext_missing_translation(self):
|
968 |
| - """Test dgettext returns msgid when translation is missing.""" |
969 | 961 | gettext.bindtextdomain(self.domain, self.localedir)
|
970 | 962 | result = gettext.dgettext(self.domain, 'missing message')
|
971 | 963 | self.assertEqual(result, 'missing message')
|
972 | 964 |
|
973 | 965 | def test_dgettext_non_existent_domain(self):
|
974 |
| - """Test dgettext returns msgid when domain doesn't exist.""" |
975 | 966 | result = gettext.dgettext('nonexistent_domain', 'test message')
|
976 | 967 | self.assertEqual(result, 'test message')
|
977 | 968 |
|
978 | 969 | def test_dgettext_empty_domain(self):
|
979 |
| - """Test dgettext behavior with empty domain.""" |
980 |
| - current_domain = gettext.textdomain() |
981 | 970 | result = gettext.dgettext('', 'test message')
|
982 | 971 | expected = gettext.gettext('test message')
|
983 | 972 | self.assertEqual(result, expected)
|
|
0 commit comments