# HG changeset patch # User cmlenz # Date 1258043033 0 # Node ID 7811327c536ac5521db2ade18f808fa38285369d # Parent 129e54866a9872a247e3716dc14f8d1a1e7f0184 Yet more 2to3 diff size reduction. diff --git a/genshi/filters/tests/i18n.py b/genshi/filters/tests/i18n.py --- a/genshi/filters/tests/i18n.py +++ b/genshi/filters/tests/i18n.py @@ -88,7 +88,7 @@ translator = Translator(extract_text=False) messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((3, 'ngettext', (u'Singular', u'Plural', None), []), + self.assertEqual((3, 'ngettext', ('Singular', 'Plural', None), []), messages[0]) def test_extract_plural_form(self): @@ -98,7 +98,7 @@ translator = Translator() messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((2, 'ngettext', (u'Singular', u'Plural', None), []), + self.assertEqual((2, 'ngettext', ('Singular', 'Plural', None), []), messages[0]) def test_extract_funky_plural_form(self): @@ -126,7 +126,7 @@ translator = Translator() messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((2, None, u'Foo', []), messages[0]) + self.assertEqual((2, None, 'Foo', []), messages[0]) def test_extract_attribute_expr(self): tmpl = MarkupTemplate(""" @@ -135,7 +135,7 @@ translator = Translator() messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((2, '_', u'Save', []), messages[0]) + self.assertEqual((2, '_', 'Save', []), messages[0]) def test_extract_non_included_attribute_interpolated(self): tmpl = MarkupTemplate(""" @@ -144,7 +144,7 @@ translator = Translator() messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((2, None, u'Foo', []), messages[0]) + self.assertEqual((2, None, 'Foo', []), messages[0]) def test_extract_text_from_sub(self): tmpl = MarkupTemplate(""" @@ -153,7 +153,7 @@ translator = Translator() messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((2, None, u'Foo', []), messages[0]) + self.assertEqual((2, None, 'Foo', []), messages[0]) def test_ignore_tag_with_fixed_xml_lang(self): tmpl = MarkupTemplate(""" @@ -170,7 +170,7 @@ translator = Translator() messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((2, None, u'(c) 2007 Edgewall Software', []), + self.assertEqual((2, None, '(c) 2007 Edgewall Software', []), messages[0]) def test_ignore_attribute_with_expression(self): @@ -468,7 +468,7 @@ tmpl.add_directives(Translator.NAMESPACE, translator) messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((3, None, u'Foo', ['As in foo bar']), messages[0]) + self.assertEqual((3, None, 'Foo', ['As in foo bar']), messages[0]) tmpl = MarkupTemplate("""

Foo

@@ -477,7 +477,7 @@ tmpl.add_directives(Translator.NAMESPACE, translator) messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) - self.assertEqual((3, None, u'Foo', ['As in foo bar']), messages[0]) + self.assertEqual((3, None, 'Foo', ['As in foo bar']), messages[0]) def test_translate_i18n_msg_with_comment(self): tmpl = MarkupTemplate("""""") gettext = lambda s: u"Voh" translator = Translator(DummyTranslations({ - 'Foo': u'Voh', + 'Foo': 'Voh', 'Foo bar': u'Voh bär' })) tmpl.filters.insert(0, translator) @@ -554,7 +554,7 @@ messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) self.assertEqual( - (3, None, u'Changed %(date)s ago by %(author)s', []), messages[0] + (3, None, 'Changed %(date)s ago by %(author)s', []), messages[0] ) def test_i18n_msg_ticket_300_translate(self): @@ -565,7 +565,7 @@ """) translations = DummyTranslations({ - u'Changed %(date)s ago by %(author)s': u'Modificado à %(date)s por %(author)s' + 'Changed %(date)s ago by %(author)s': u'Modificado à %(date)s por %(author)s' }) translator = Translator(translations) translator.setup(tmpl) @@ -619,12 +619,12 @@ messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) self.assertEqual( - u'Before you do that, though, please first try\n ' - u'[1:[2:searching]\n for similar issues], as it is ' - u'quite likely that this problem\n has been reported ' - u'before. For questions about installation\n and ' - u'configuration of Trac, please try the\n ' - u'[3:mailing list]\n instead of filing a ticket.', + 'Before you do that, though, please first try\n ' + '[1:[2:searching]\n for similar issues], as it is ' + 'quite likely that this problem\n has been reported ' + 'before. For questions about installation\n and ' + 'configuration of Trac, please try the\n ' + '[3:mailing list]\n instead of filing a ticket.', messages[0][2] ) @@ -641,12 +641,12 @@

""") translations = DummyTranslations({ - u'Before you do that, though, please first try\n ' - u'[1:[2:searching]\n for similar issues], as it is ' - u'quite likely that this problem\n has been reported ' - u'before. For questions about installation\n and ' - u'configuration of Trac, please try the\n ' - u'[3:mailing list]\n instead of filing a ticket.': + 'Before you do that, though, please first try\n ' + '[1:[2:searching]\n for similar issues], as it is ' + 'quite likely that this problem\n has been reported ' + 'before. For questions about installation\n and ' + 'configuration of Trac, please try the\n ' + '[3:mailing list]\n instead of filing a ticket.': u'Antes de o fazer, porém,\n ' u'[1:por favor tente [2:procurar]\n por problemas semelhantes], uma vez que ' u'é muito provável que este problema\n já tenha sido reportado ' @@ -681,8 +681,8 @@

""") translations = DummyTranslations({ - u'[1:Note:] This repository is defined in\n ' - u'[2:[3:trac.ini]]\n and cannot be edited on this page.': + '[1:Note:] This repository is defined in\n ' + '[2:[3:trac.ini]]\n and cannot be edited on this page.': u'[1:Nota:] Este repositório está definido em \n ' u'[2:[3:trac.ini]]\n e não pode ser editado nesta página.', }) @@ -691,8 +691,8 @@ messages = list(translator.extract(tmpl.stream)) self.assertEqual(1, len(messages)) self.assertEqual( - u'[1:Note:] This repository is defined in\n ' - u'[2:[3:trac.ini]]\n and cannot be edited on this page.', + '[1:Note:] This repository is defined in\n ' + '[2:[3:trac.ini]]\n and cannot be edited on this page.', messages[0][2] ) self.assertEqual(""" @@ -1003,8 +1003,8 @@ tmpl.add_directives(Translator.NAMESPACE, translator) messages = list(translator.extract(tmpl.stream)) self.assertEqual(2, len(messages)) - self.assertEqual((3, 'ngettext', (u'FooBar', u'FooBars'), []), messages[0]) - self.assertEqual((7, 'ngettext', (u'FooBar', u'FooBars'), []), messages[1]) + self.assertEqual((3, 'ngettext', ('FooBar', 'FooBars'), []), messages[0]) + self.assertEqual((7, 'ngettext', ('FooBar', 'FooBars'), []), messages[1]) def test_extract_i18n_choose_as_directive(self): tmpl = MarkupTemplate("""""") results = list(extract(buf, ['_', 'ngettext'], [], {})) self.assertEqual([ - (3, None, u'Example', []), - (6, None, u'Example', []), - (7, '_', u'Hello, %(name)s', []), - (8, 'ngettext', (u'You have %d item', u'You have %d items', None), + (3, None, 'Example', []), + (6, None, 'Example', []), + (7, '_', 'Hello, %(name)s', []), + (8, 'ngettext', ('You have %d item', 'You have %d items', None), []), ], results) @@ -1458,7 +1458,7 @@ 'extract_text': 'no' })) self.assertEqual([ - (3, 'ngettext', (u'Singular', u'Plural', None), []), + (3, 'ngettext', ('Singular', 'Plural', None), []), ], results) def test_text_template_extraction(self): @@ -1475,9 +1475,9 @@ 'template_class': 'genshi.template:TextTemplate' })) self.assertEqual([ - (1, '_', u'Dear %(name)s', []), - (3, 'ngettext', (u'Your item:', u'Your items', None), []), - (7, None, u'All the best,\n Foobar', []) + (1, '_', 'Dear %(name)s', []), + (3, 'ngettext', ('Your item:', 'Your items', None), []), + (7, None, 'All the best,\n Foobar', []) ], results) def test_extraction_with_keyword_arg(self): @@ -1486,7 +1486,7 @@ """) results = list(extract(buf, ['gettext'], [], {})) self.assertEqual([ - (2, 'gettext', (u'Foobar'), []), + (2, 'gettext', ('Foobar'), []), ], results) def test_extraction_with_nonstring_arg(self): @@ -1495,7 +1495,7 @@ """) results = list(extract(buf, ['dgettext'], [], {})) self.assertEqual([ - (2, 'dgettext', (None, u'Foobar'), []), + (2, 'dgettext', (None, 'Foobar'), []), ], results) def test_extraction_inside_ignored_tags(self): @@ -1509,7 +1509,7 @@ """) results = list(extract(buf, ['_'], [], {})) self.assertEqual([ - (5, '_', u'Please wait...', []), + (5, '_', 'Please wait...', []), ], results) def test_extraction_inside_ignored_tags_with_directives(self): @@ -1565,16 +1565,16 @@ messages = list(translator.extract(tmpl.stream)) self.assertEqual(10, len(messages)) self.assertEqual([ - (3, None, u'View differences', []), - (6, None, u'inline', []), - (8, None, u'side by side', []), - (10, None, u'Show', []), - (13, None, u'lines around each change', []), - (16, None, u'Ignore:', []), - (20, None, u'Blank lines', []), - (25, None, u'Case changes',[]), - (30, None, u'White space changes', []), - (34, '_', u'Update', [])], messages) + (3, None, 'View differences', []), + (6, None, 'inline', []), + (8, None, 'side by side', []), + (10, None, 'Show', []), + (13, None, 'lines around each change', []), + (16, None, 'Ignore:', []), + (20, None, 'Blank lines', []), + (25, None, 'Case changes',[]), + (30, None, 'White space changes', []), + (34, '_', 'Update', [])], messages) def suite(): diff --git a/genshi/template/tests/text.py b/genshi/template/tests/text.py --- a/genshi/template/tests/text.py +++ b/genshi/template/tests/text.py @@ -33,22 +33,22 @@ def test_escaping(self): tmpl = OldTextTemplate('\\#escaped') - self.assertEqual('#escaped', str(tmpl.generate())) + self.assertEqual('#escaped', tmpl.generate().render()) def test_comment(self): tmpl = OldTextTemplate('## a comment') - self.assertEqual('', str(tmpl.generate())) + self.assertEqual('', tmpl.generate().render()) def test_comment_escaping(self): tmpl = OldTextTemplate('\\## escaped comment') - self.assertEqual('## escaped comment', str(tmpl.generate())) + self.assertEqual('## escaped comment', tmpl.generate().render()) def test_end_with_args(self): tmpl = OldTextTemplate(""" #if foo bar #end 'if foo'""") - self.assertEqual('\n', str(tmpl.generate(foo=False))) + self.assertEqual('\n', tmpl.generate(foo=False).render()) def test_latin1_encoded(self): text = u'$foo\xf6$bar'.encode('iso-8859-1') @@ -126,22 +126,22 @@ def test_escaping(self): tmpl = NewTextTemplate('\\{% escaped %}') - self.assertEqual('{% escaped %}', str(tmpl.generate())) + self.assertEqual('{% escaped %}', tmpl.generate().render()) def test_comment(self): tmpl = NewTextTemplate('{# a comment #}') - self.assertEqual('', str(tmpl.generate())) + self.assertEqual('', tmpl.generate().render()) def test_comment_escaping(self): tmpl = NewTextTemplate('\\{# escaped comment #}') - self.assertEqual('{# escaped comment #}', str(tmpl.generate())) + self.assertEqual('{# escaped comment #}', tmpl.generate().render()) def test_end_with_args(self): tmpl = NewTextTemplate(""" {% if foo %} bar {% end 'if foo' %}""") - self.assertEqual('\n', str(tmpl.generate(foo=False))) + self.assertEqual('\n', tmpl.generate(foo=False).render()) def test_latin1_encoded(self): text = u'$foo\xf6$bar'.encode('iso-8859-1') @@ -190,30 +190,30 @@ Verify that a code block with trailing space does not cause a syntax error (see ticket #127). """ - NewTextTemplate(u""" + NewTextTemplate(""" {% python bar = 42 $} """) def test_exec_import(self): - tmpl = NewTextTemplate(u"""{% python from datetime import timedelta %} + tmpl = NewTextTemplate("""{% python from datetime import timedelta %} ${timedelta(days=2)} """) self.assertEqual(""" 2 days, 0:00:00 - """, str(tmpl.generate())) + """, tmpl.generate().render()) def test_exec_def(self): - tmpl = NewTextTemplate(u"""{% python + tmpl = NewTextTemplate("""{% python def foo(): return 42 %} ${foo()} """) - self.assertEqual(u""" + self.assertEqual(""" 42 - """, str(tmpl.generate())) + """, tmpl.generate().render()) def test_include(self): file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') diff --git a/genshi/template/text.py b/genshi/template/text.py --- a/genshi/template/text.py +++ b/genshi/template/text.py @@ -169,7 +169,7 @@ _escape_sub = self._escape_re.sub def _escape_repl(mo): - groups = filter(None, mo.groups()) + groups = [g for g in mo.groups() if g] if not groups: return '' return groups[0] diff --git a/genshi/tests/builder.py b/genshi/tests/builder.py --- a/genshi/tests/builder.py +++ b/genshi/tests/builder.py @@ -12,7 +12,6 @@ # history and logs, available at http://genshi.edgewall.org/log/. import doctest -from HTMLParser import HTMLParseError import unittest from genshi.builder import Element, tag @@ -24,12 +23,12 @@ def test_link(self): link = tag.a(href='#', title='Foo', accesskey=None)('Bar') - bits = iter(link.generate()) + events = list(link.generate()) self.assertEqual((Stream.START, ('a', Attrs([('href', "#"), ('title', "Foo")])), - (None, -1, -1)), bits.next()) - self.assertEqual((Stream.TEXT, u'Bar', (None, -1, -1)), bits.next()) - self.assertEqual((Stream.END, 'a', (None, -1, -1)), bits.next()) + (None, -1, -1)), events[0]) + self.assertEqual((Stream.TEXT, 'Bar', (None, -1, -1)), events[1]) + self.assertEqual((Stream.END, 'a', (None, -1, -1)), events[2]) def test_nonstring_attributes(self): """ @@ -37,41 +36,40 @@ non-string type), it is coverted to a string when the stream is generated. """ - event = iter(tag.foo(id=3)).next() + events = list(tag.foo(id=3)) self.assertEqual((Stream.START, ('foo', Attrs([('id', '3')])), - (None, -1, -1)), - event) + (None, -1, -1)), events[0]) def test_duplicate_attributes(self): link = tag.a(href='#1', href_='#2')('Bar') - bits = iter(link.generate()) - self.assertEqual((Stream.START, - ('a', Attrs([('href', "#1")])), - (None, -1, -1)), bits.next()) - self.assertEqual((Stream.TEXT, u'Bar', (None, -1, -1)), bits.next()) - self.assertEqual((Stream.END, 'a', (None, -1, -1)), bits.next()) + events = list(link.generate()) + self.assertEqual((Stream.START, ('a', Attrs([('href', "#1")])), + (None, -1, -1)), events[0]) + self.assertEqual((Stream.TEXT, 'Bar', (None, -1, -1)), events[1]) + self.assertEqual((Stream.END, 'a', (None, -1, -1)), events[2]) def test_stream_as_child(self): - xml = list(tag.span(XML('Foo')).generate()) - self.assertEqual(5, len(xml)) - self.assertEqual((Stream.START, ('span', ())), xml[0][:2]) - self.assertEqual((Stream.START, ('b', ())), xml[1][:2]) - self.assertEqual((Stream.TEXT, 'Foo'), xml[2][:2]) - self.assertEqual((Stream.END, 'b'), xml[3][:2]) - self.assertEqual((Stream.END, 'span'), xml[4][:2]) + events = list(tag.span(XML('Foo')).generate()) + self.assertEqual(5, len(events)) + self.assertEqual((Stream.START, ('span', ())), events[0][:2]) + self.assertEqual((Stream.START, ('b', ())), events[1][:2]) + self.assertEqual((Stream.TEXT, 'Foo'), events[2][:2]) + self.assertEqual((Stream.END, 'b'), events[3][:2]) + self.assertEqual((Stream.END, 'span'), events[4][:2]) def test_markup_escape(self): - from genshi.core import Markup m = Markup('See %s') % tag.a('genshi', href='http://genshi.edgwall.org') self.assertEqual(m, Markup('See ' 'genshi')) + def suite(): suite = unittest.TestSuite() suite.addTest(doctest.DocTestSuite(Element.__module__)) suite.addTest(unittest.makeSuite(ElementFactoryTestCase, 'test')) return suite + if __name__ == '__main__': unittest.main(defaultTest='suite')