diff babel/messages/tests/catalog.py @ 277:9886bf6f2d15 trunk

Fix for updating catalog messages that changed from gettext to ngettext or vice versa.
author cmlenz
date Tue, 04 Sep 2007 15:09:54 +0000
parents 28f6d855476f
children 25b883553910 716da7f0fa01
line wrap: on
line diff
--- a/babel/messages/tests/catalog.py
+++ b/babel/messages/tests/catalog.py
@@ -73,6 +73,24 @@
         cat.add('foo', locations=[('foo.py', 1)])
         self.assertEqual([('foo.py', 1)], cat['foo'].locations)
 
+    def test_update_message_changed_to_plural(self):
+        cat = catalog.Catalog()
+        cat.add(u'foo', u'Voh')
+        tmpl = catalog.Catalog()
+        tmpl.add((u'foo', u'foos'))
+        cat.update(tmpl)
+        self.assertEqual((u'Voh', ''), cat['foo'].string)
+        assert cat['foo'].fuzzy
+
+    def test_update_message_changed_to_simple(self):
+        cat = catalog.Catalog()
+        cat.add((u'foo' u'foos'), (u'Voh', u'Vöhs'))
+        tmpl = catalog.Catalog()
+        tmpl.add(u'foo')
+        cat.update(tmpl)
+        self.assertEqual(u'Voh', cat['foo'].string)
+        assert cat['foo'].fuzzy
+
     def test_update_message_updates_comments(self):
         cat = catalog.Catalog()
         cat[u'foo'] = catalog.Message('foo', locations=[('main.py', 5)])
Copyright (C) 2012-2017 Edgewall Software