|
4 | 4 | importunittest
|
5 | 5 | importunittest.mock
|
6 | 6 | fromfunctoolsimportpartial
|
7 |
| -importtempfile |
8 |
| -importshutil |
9 | 7 |
|
10 | 8 | fromtestimportsupport
|
11 | 9 | fromtest.supportimportcpython_only,os_helper
|
@@ -939,45 +937,36 @@ def test_lazy_import(self):
|
939 | 937 |
|
940 | 938 |
|
941 | 939 | classDGettextTest(unittest.TestCase):
|
942 |
| -"""Test dgettext() function, which allows translations from specific domains.""" |
943 | 940 |
|
944 | 941 | defsetUp(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 | defsetup_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 | withopen(mofile,'wb')asfp:
|
956 | 950 | fp.write(b'\x00\x00\x00\x00')
|
957 | 951 | returnmofile
|
958 | 952 |
|
959 | 953 | deftest_dgettext_found_translation(self):
|
960 |
| -"""Test dgettext finds translation in specified domain.""" |
961 | 954 | gettext.bindtextdomain(self.domain,self.localedir)
|
962 | 955 | withunittest.mock.patch('gettext.dgettext')asmock_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 | deftest_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 | deftest_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 | deftest_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)
|
|