changeset 257:79c72d3a35f6 trunk

add extractor tests for some odder method signatures and concatenated strings
author pjenvey
date Wed, 15 Aug 2007 18:36:19 +0000
parents 0355a5180ff5
children 5ca5fbd47766
files babel/messages/tests/extract.py
diffstat 1 files changed, 36 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/babel/messages/tests/extract.py
+++ b/babel/messages/tests/extract.py
@@ -124,6 +124,15 @@
               'the GNU\ngettext message catalog library.', [])],
             messages)
 
+    def test_concatenated_strings(self):
+        buf = StringIO("""\
+foobar = _('foo' 'bar')
+""")
+        messages = list(extract.extract_python(buf,
+                                               extract.DEFAULT_KEYWORDS.keys(),
+                                               [], {}))
+        self.assertEqual(u'foobar', messages[0][2])
+
     def test_unicode_string_arg(self):
         buf = StringIO("msg = _(u'Foo Bar')")
         messages = list(extract.extract_python(buf, ('_',), [], {}))
@@ -240,6 +249,19 @@
         self.assertEqual(u'Hi there!', messages[0][2])
         self.assertEqual([], messages[0][3])
 
+    def test_different_signatures(self):
+        buf = StringIO("""
+foo = _('foo', 'bar')
+n = ngettext('hello', 'there', n=3)
+n = ngettext(n=3, 'hello', 'there')
+n = ngettext(n=3, *messages)
+""")
+        messages = list(extract.extract_python(buf, ('_', 'ngettext'), [], {}))
+        self.assertEqual((u'foo', u'bar'), messages[0][2])
+        self.assertEqual((u'hello', u'there', None), messages[1][2])
+        self.assertEqual((None, u'hello', u'there'), messages[2][2])
+        self.assertEqual((None, None), messages[3][2])
+
     def test_utf8_message(self):
         buf = StringIO("""
 # NOTE: hello
@@ -299,6 +321,20 @@
                           (8, u'Rabbit', []),
                           (10, (u'Page', u'Pages'), [])], messages)
 
+    def test_different_signatures(self):
+        buf = StringIO("""
+foo = _('foo', 'bar')
+n = ngettext('hello', 'there', n=3)
+n = ngettext(n=3, 'hello', 'there')
+n = ngettext(n=3, *messages)
+""")
+        messages = \
+            list(extract.extract('python', buf, extract.DEFAULT_KEYWORDS, [],
+                                 {}))
+        self.assertEqual(len(messages), 2)
+        self.assertEqual(u'foo', messages[0][1])
+        self.assertEqual((u'hello', u'there'), messages[1][1])
+
     def test_empty_string_msgid(self):
         buf = StringIO("""\
 msg = _('')
Copyright (C) 2012-2017 Edgewall Software