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