diff babel/messages/tests/pofile.py @ 428:a974d298400f trunk

Fix for msgctxt parsing in PO files. Thanks to Asheesh Laroia for the patch. Closes #159.
author cmlenz
date Tue, 17 Mar 2009 22:26:03 +0000
parents fb926f48efba
children 942afedbb3d7
line wrap: on
line diff
--- a/babel/messages/tests/pofile.py
+++ b/babel/messages/tests/pofile.py
@@ -169,6 +169,27 @@
         assert out_buf.getvalue().strip() == buf.getvalue().strip(), \
                                                             out_buf.getvalue()
 
+    def test_with_context_two(self):
+        buf = StringIO(r'''msgctxt "Menu"
+msgid "foo"
+msgstr "Voh"
+
+msgctxt "Mannu"
+msgid "bar"
+msgstr "Bahr"
+''')
+        catalog = pofile.read_po(buf, ignore_obsolete=True)
+        self.assertEqual(2, len(catalog))
+        message = catalog.get('foo', context='Menu')
+        self.assertEqual('Menu', message.context)
+        message = catalog.get('bar', context='Mannu')
+        self.assertEqual('Mannu', message.context)
+        
+        # And verify it pass through write_po
+        out_buf = StringIO()
+        pofile.write_po(out_buf, catalog, omit_header=True)
+        assert out_buf.getvalue().strip() == buf.getvalue().strip(), out_buf.getvalue()
+
     def test_singlular_plural_form(self):
         buf = StringIO(r'''msgid "foo"
 msgid_plural "foo"
Copyright (C) 2012-2017 Edgewall Software