@@ -40,6 +40,28 @@ def test_compilation(self):
4040
4141 self .assertDictEqual (actual ._catalog , expected ._catalog )
4242
43+ def test_translations (self ):
44+ with open (data_dir / 'general.mo' , 'rb' ) as f :
45+ t = GNUTranslations (f )
46+
47+ self .assertEqual (t .gettext ('foo' ), 'foo' )
48+ self .assertEqual (t .gettext ('bar' ), 'baz' )
49+ self .assertEqual (t .pgettext ('abc' , 'foo' ), 'bar' )
50+ self .assertEqual (t .pgettext ('xyz' , 'foo' ), 'bar' )
51+ self .assertEqual (t .gettext ('Multilinestring' ), 'Multilinetranslation' )
52+ self .assertEqual (t .gettext ('"escapes"' ), '"translated"' )
53+ self .assertEqual (t .gettext ('\n newlines \n ' ), '\n translated \n ' )
54+ self .assertEqual (t .ngettext ('One email sent.' , '%d emails sent.' , 1 ),
55+ 'One email sent.' )
56+ self .assertEqual (t .ngettext ('One email sent.' , '%d emails sent.' , 2 ),
57+ '%d emails sent.' )
58+ self .assertEqual (t .npgettext ('abc' , 'One email sent.' ,
59+ '%d emails sent.' , 1 ),
60+ 'One email sent.' )
61+ self .assertEqual (t .npgettext ('abc' , 'One email sent.' ,
62+ '%d emails sent.' , 2 ),
63+ '%d emails sent.' )
64+
4365 def test_invalid_msgid_plural (self ):
4466 with temp_cwd ():
4567 Path ('invalid.po' ).write_text ('''\
0 commit comments