annotate 0.8.x/babel/messages/tests/catalog.py @ 142:4a7af44e6695 stable

Create branch for 0.8.x releases.
author cmlenz
date Wed, 20 Jun 2007 10:09:07 +0000
parents
children
rev   line source
142
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
1 # -*- coding: utf-8 -*-
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
2 #
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
3 # Copyright (C) 2007 Edgewall Software
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
4 # All rights reserved.
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
5 #
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
6 # This software is licensed as described in the file COPYING, which
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
7 # you should have received as part of this distribution. The terms
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
8 # are also available at http://babel.edgewall.org/wiki/License.
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
9 #
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
10 # This software consists of voluntary contributions made by many
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
11 # individuals. For the exact contribution history, see the revision
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
12 # history and logs, available at http://babel.edgewall.org/log/.
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
13
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
14 import doctest
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
15 import unittest
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
16
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
17 from babel.messages import catalog
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
18
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
19
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
20 class MessageTestCase(unittest.TestCase):
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
21
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
22 def test_python_format(self):
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
23 assert catalog.PYTHON_FORMAT('foo %d bar')
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
24 assert catalog.PYTHON_FORMAT('foo %s bar')
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
25 assert catalog.PYTHON_FORMAT('foo %r bar')
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
26
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
27 def test_translator_comments(self):
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
28 mess = catalog.Message('foo', user_comments=['Comment About `foo`'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
29 self.assertEqual(mess.user_comments, ['Comment About `foo`'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
30 mess = catalog.Message('foo',
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
31 auto_comments=['Comment 1 About `foo`',
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
32 'Comment 2 About `foo`'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
33 self.assertEqual(mess.auto_comments, ['Comment 1 About `foo`',
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
34 'Comment 2 About `foo`'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
35
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
36
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
37 class CatalogTestCase(unittest.TestCase):
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
38
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
39 def test_two_messages_with_same_singular(self):
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
40 cat = catalog.Catalog()
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
41 cat.add('foo')
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
42 cat.add(('foo', 'foos'))
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
43 self.assertEqual(1, len(cat))
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
44
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
45 def test_update_message_updates_comments(self):
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
46 cat = catalog.Catalog()
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
47 cat[u'foo'] = catalog.Message('foo', locations=[('main.py', 5)])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
48 self.assertEqual(cat[u'foo'].auto_comments, [])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
49 self.assertEqual(cat[u'foo'].user_comments, [])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
50 # Update cat[u'foo'] with a new location and a comment
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
51 cat[u'foo'] = catalog.Message('foo', locations=[('main.py', 7)],
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
52 user_comments=['Foo Bar comment 1'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
53 self.assertEqual(cat[u'foo'].user_comments, ['Foo Bar comment 1'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
54 # now add yet another location with another comment
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
55 cat[u'foo'] = catalog.Message('foo', locations=[('main.py', 9)],
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
56 auto_comments=['Foo Bar comment 2'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
57 self.assertEqual(cat[u'foo'].auto_comments, ['Foo Bar comment 2'])
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
58
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
59
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
60 def suite():
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
61 suite = unittest.TestSuite()
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
62 suite.addTest(doctest.DocTestSuite(catalog, optionflags=doctest.ELLIPSIS))
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
63 suite.addTest(unittest.makeSuite(MessageTestCase))
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
64 suite.addTest(unittest.makeSuite(CatalogTestCase))
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
65 return suite
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
66
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
67 if __name__ == '__main__':
4a7af44e6695 Create branch for 0.8.x releases.
cmlenz
parents:
diff changeset
68 unittest.main(defaultTest='suite')
Copyright (C) 2012-2017 Edgewall Software