Mercurial > babel > old > mirror
diff babel/messages/tests/catalog.py @ 314:5c0bda4f20b1
Fix catalog updating with fuzzy matches. Closes #82.
author | cmlenz |
---|---|
date | Fri, 01 Feb 2008 13:38:09 +0000 |
parents | 3308e9971fab |
children | 654b632e5482 |
line wrap: on
line diff
--- a/babel/messages/tests/catalog.py +++ b/babel/messages/tests/catalog.py @@ -131,6 +131,40 @@ self.assertEqual('Voh', cat['foo'].string) self.assertEqual(True, cat['foo'].fuzzy) + def test_update_fuzzy_matching_no_msgstr(self): + cat = catalog.Catalog() + cat.add('fo', '') + tmpl = catalog.Catalog() + tmpl.add('fo') + tmpl.add('foo') + cat.update(tmpl) + assert 'fo' in cat + assert 'foo' in cat + + self.assertEqual('', cat['fo'].string) + self.assertEqual(False, cat['fo'].fuzzy) + self.assertEqual(None, cat['foo'].string) + self.assertEqual(False, cat['foo'].fuzzy) + + def test_update_fuzzy_matching_no_cascading(self): + cat = catalog.Catalog() + cat.add('fo', 'Voh') + cat.add('foo', 'Vohe') + tmpl = catalog.Catalog() + tmpl.add('fo') + tmpl.add('foo') + tmpl.add('fooo') + cat.update(tmpl) + assert 'fo' in cat + assert 'foo' in cat + + self.assertEqual('Voh', cat['fo'].string) + self.assertEqual(False, cat['fo'].fuzzy) + self.assertEqual('Vohe', cat['foo'].string) + self.assertEqual(False, cat['foo'].fuzzy) + self.assertEqual('Vohe', cat['fooo'].string) + self.assertEqual(True, cat['fooo'].fuzzy) + def test_update_without_fuzzy_matching(self): cat = catalog.Catalog() cat.add('fo', 'Voh')