Mercurial > genshi > mirror
changeset 865:1adf86694e01 trunk
Also skip the encoding step in the template tests.
author | cmlenz |
---|---|
date | Thu, 12 Nov 2009 21:25:37 +0000 |
parents | f91289c7d092 |
children | ab619331489a |
files | genshi/template/tests/directives.py genshi/template/tests/loader.py genshi/template/tests/markup.py genshi/template/tests/text.py genshi/template/text.py |
diffstat | 5 files changed, 130 insertions(+), 121 deletions(-) [+] |
line wrap: on
line diff
--- a/genshi/template/tests/directives.py +++ b/genshi/template/tests/directives.py @@ -32,7 +32,7 @@ items = [{'id': 1, 'class': 'foo'}, {'id': 2, 'class': 'bar'}] self.assertEqual("""<doc> <elem id="1" class="foo"/><elem id="2" class="bar"/> - </doc>""", str(tmpl.generate(items=items))) + </doc>""", tmpl.generate(items=items).render(encoding=None)) def test_update_existing_attr(self): """ @@ -44,7 +44,7 @@ </doc>""") self.assertEqual("""<doc> <elem class="bar"/> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_remove_existing_attr(self): """ @@ -56,7 +56,7 @@ </doc>""") self.assertEqual("""<doc> <elem/> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) class ChooseDirectiveTestCase(unittest.TestCase): @@ -75,7 +75,7 @@ </div>""") self.assertEqual("""<div> <span>1</span> - </div>""", str(tmpl.generate())) + </div>""", tmpl.generate().render(encoding=None)) def test_otherwise(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/" py:choose=""> @@ -84,7 +84,7 @@ </div>""") self.assertEqual("""<div> <span>hello</span> - </div>""", str(tmpl.generate())) + </div>""", tmpl.generate().render(encoding=None)) def test_nesting(self): """ @@ -104,7 +104,7 @@ <span>3</span> </div> </div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_complex_nesting(self): """ @@ -124,7 +124,7 @@ <span>OK</span> </div> </div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_complex_nesting_otherwise(self): """ @@ -144,7 +144,7 @@ <span>OK</span> </div> </div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_when_with_strip(self): """ @@ -158,7 +158,7 @@ </doc>""") self.assertEqual("""<doc> <span>foo</span> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_when_outside_choose(self): """ @@ -205,7 +205,7 @@ </doc>""") self.assertEqual("""<doc> foo - </doc>""", str(tmpl.generate(foo='Yeah'))) + </doc>""", tmpl.generate(foo='Yeah').render(encoding=None)) def test_otherwise_without_test(self): """ @@ -219,7 +219,7 @@ </doc>""") self.assertEqual("""<doc> foo - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_as_element(self): """ @@ -234,7 +234,7 @@ </doc>""") self.assertEqual("""<doc> 1 - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_in_text_template(self): """ @@ -251,7 +251,8 @@ 3 #end #end""") - self.assertEqual(""" 1\n""", str(tmpl.generate())) + self.assertEqual(""" 1\n""", + tmpl.generate().render(encoding=None)) class DefDirectiveTestCase(unittest.TestCase): @@ -270,7 +271,7 @@ </doc>""") self.assertEqual("""<doc> <b>foo</b> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_exec_in_replace(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -283,7 +284,7 @@ <p class="message"> hello, world! </p> - </div>""", str(tmpl.generate())) + </div>""", tmpl.generate().render(encoding=None)) def test_as_element(self): """ @@ -297,7 +298,7 @@ </doc>""") self.assertEqual("""<doc> <b>foo</b> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_nested_defs(self): """ @@ -315,7 +316,7 @@ </doc>""") self.assertEqual("""<doc> <strong>foo</strong> - </doc>""", str(tmpl.generate(semantic=True))) + </doc>""", tmpl.generate(semantic=True).render(encoding=None)) def test_function_with_default_arg(self): """ @@ -327,7 +328,7 @@ </doc>""") self.assertEqual("""<doc> foo - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_invocation_in_attribute(self): tmpl = MarkupTemplate("""<doc xmlns:py="http://genshi.edgewall.org/"> @@ -336,7 +337,7 @@ </doc>""") self.assertEqual("""<doc> <p class="foo">bar</p> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_invocation_in_attribute_none(self): tmpl = MarkupTemplate("""<doc xmlns:py="http://genshi.edgewall.org/"> @@ -345,7 +346,7 @@ </doc>""") self.assertEqual("""<doc> <p>bar</p> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_function_raising_typeerror(self): def badfunc(): @@ -368,7 +369,7 @@ </doc>""") self.assertEqual("""<doc> <head><title>True</title></head> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_in_text_template(self): """ @@ -383,7 +384,7 @@ self.assertEqual(""" Hi, you! - """, str(tmpl.generate())) + """, tmpl.generate().render(encoding=None)) def test_function_with_star_args(self): """ @@ -402,7 +403,7 @@ [1, 2] {'a': 3, 'b': 4} </div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) class ForDirectiveTestCase(unittest.TestCase): @@ -424,7 +425,7 @@ <b>3</b> <b>4</b> <b>5</b> - </doc>""", str(tmpl.generate(items=range(1, 6)))) + </doc>""", tmpl.generate(items=range(1, 6)).render(encoding=None)) def test_as_element(self): """ @@ -441,7 +442,7 @@ <b>3</b> <b>4</b> <b>5</b> - </doc>""", str(tmpl.generate(items=range(1, 6)))) + </doc>""", tmpl.generate(items=range(1, 6)).render(encoding=None)) def test_multi_assignment(self): """ @@ -455,7 +456,8 @@ self.assertEqual("""<doc> <p>key=a, value=1</p> <p>key=b, value=2</p> - </doc>""", str(tmpl.generate(items=dict(a=1, b=2).items()))) + </doc>""", tmpl.generate(items=dict(a=1, b=2).items()) + .render(encoding=None)) def test_nested_assignment(self): """ @@ -469,7 +471,8 @@ self.assertEqual("""<doc> <p>0: key=a, value=1</p> <p>1: key=b, value=2</p> - </doc>""", str(tmpl.generate(items=enumerate(dict(a=1, b=2).items())))) + </doc>""", tmpl.generate(items=enumerate(dict(a=1, b=2).items())) + .render(encoding=None)) def test_not_iterable(self): """ @@ -528,7 +531,7 @@ </doc>""") self.assertEqual("""<doc> Hello - </doc>""", str(tmpl.generate(foo=True, bar='Hello'))) + </doc>""", tmpl.generate(foo=True, bar='Hello').render(encoding=None)) def test_as_element(self): """ @@ -539,7 +542,7 @@ </doc>""") self.assertEqual("""<doc> Hello - </doc>""", str(tmpl.generate(foo=True, bar='Hello'))) + </doc>""", tmpl.generate(foo=True, bar='Hello').render(encoding=None)) class MatchDirectiveTestCase(unittest.TestCase): @@ -558,7 +561,7 @@ </doc>""") self.assertEqual("""<doc> <div class="elem">Hey Joe</div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_without_strip(self): """ @@ -575,7 +578,7 @@ <elem> <div class="elem">Hey Joe</div> </elem> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_as_element(self): """ @@ -589,7 +592,7 @@ </doc>""") self.assertEqual("""<doc> <div class="elem">Hey Joe</div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_recursive_match_1(self): """ @@ -619,7 +622,7 @@ </subelem> </div> </elem> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_recursive_match_2(self): """ @@ -645,7 +648,7 @@ <div id="header"/><h1>Foo</h1> <div id="footer"/> </body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_recursive_match_3(self): tmpl = MarkupTemplate("""<test xmlns:py="http://genshi.edgewall.org/"> @@ -671,7 +674,7 @@ <generic> <ul><bullet>1</bullet><bullet>2</bullet></ul> </generic> - </test>""", str(tmpl.generate())) + </test>""", tmpl.generate().render(encoding=None)) def test_not_match_self(self): """ @@ -693,7 +696,7 @@ Hello! Goodbye! </h1></body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_select_text_in_element(self): """ @@ -719,7 +722,7 @@ </text> Goodbye! </h1></body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_select_all_attrs(self): tmpl = MarkupTemplate("""<doc xmlns:py="http://genshi.edgewall.org/"> @@ -732,7 +735,7 @@ <div id="joe"> Hey Joe </div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_select_all_attrs_empty(self): tmpl = MarkupTemplate("""<doc xmlns:py="http://genshi.edgewall.org/"> @@ -745,7 +748,7 @@ <div> Hey Joe </div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_select_all_attrs_in_body(self): tmpl = MarkupTemplate("""<doc xmlns:py="http://genshi.edgewall.org/"> @@ -758,7 +761,7 @@ <div> Hey Joe Cool </div> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_def_in_match(self): tmpl = MarkupTemplate("""<doc xmlns:py="http://genshi.edgewall.org/"> @@ -768,7 +771,7 @@ </doc>""") self.assertEqual("""<doc> <head><title>True</title></head> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) def test_match_with_xpath_variable(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -781,10 +784,10 @@ <span> Hello Dude </span> - </div>""", str(tmpl.generate(tagname='greeting'))) + </div>""", tmpl.generate(tagname='greeting').render(encoding=None)) self.assertEqual("""<div> <greeting name="Dude"/> - </div>""", str(tmpl.generate(tagname='sayhello'))) + </div>""", tmpl.generate(tagname='sayhello').render(encoding=None)) def test_content_directive_in_match(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -793,7 +796,7 @@ </html>""") self.assertEqual("""<html> <div>I said <q>bar</q>.</div> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_cascaded_matches(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -806,7 +809,7 @@ self.assertEqual("""<html> <head><title>Welcome to Markup</title></head> <body><h2>Are you ready to mark up?</h2><hr/></body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_multiple_matches(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -836,7 +839,8 @@ <label>Hello_4</label> <input value="4" type="text" name="hello_4"/> </p></form> - </html>""", str(tmpl.generate(fields=fields, values=values))) + </html>""", tmpl.generate(fields=fields, values=values) + .render(encoding=None)) def test_namespace_context(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/" @@ -848,7 +852,7 @@ # such as the "x" in this example self.assertEqual("""<html xmlns:x="http://www.example.org/"> <div>Foo</div> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_match_with_position_predicate(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -863,7 +867,7 @@ <p class="first">Foo</p> <p>Bar</p> </body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_match_with_closure(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -878,7 +882,7 @@ <p class="para">Foo</p> <div><p class="para">Bar</p></div> </body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_match_without_closure(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -893,7 +897,7 @@ <p class="para">Foo</p> <div><p>Bar</p></div> </body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_match_with_once_attribute(self): tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -918,7 +922,7 @@ <body> <p>Bar</p> </body> - </html>""", str(tmpl.generate())) + </html>""", tmpl.generate().render(encoding=None)) def test_match_with_recursive_attribute(self): tmpl = MarkupTemplate("""<doc xmlns:py="http://genshi.edgewall.org/"> @@ -941,7 +945,7 @@ </subelem> </div> </elem> - </doc>""", str(tmpl.generate())) + </doc>""", tmpl.generate().render(encoding=None)) # FIXME #def test_match_after_step(self): @@ -955,7 +959,7 @@ # <span> # Hello Dude # </span> - # </div>""", str(tmpl.generate())) + # </div>""", tmpl.generate().render(encoding=None)) class ContentDirectiveTestCase(unittest.TestCase): @@ -995,7 +999,7 @@ </div>""", filename='test.html') self.assertEqual("""<div> Test - </div>""", str(tmpl.generate(title='Test'))) + </div>""", tmpl.generate(title='Test').render(encoding=None)) class StripDirectiveTestCase(unittest.TestCase): @@ -1007,7 +1011,7 @@ </div>""") self.assertEqual("""<div> <div><b>foo</b></div> - </div>""", str(tmpl.generate())) + </div>""", tmpl.generate().render(encoding=None)) def test_strip_empty(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -1015,7 +1019,7 @@ </div>""") self.assertEqual("""<div> <b>foo</b> - </div>""", str(tmpl.generate())) + </div>""", tmpl.generate().render(encoding=None)) class WithDirectiveTestCase(unittest.TestCase): @@ -1031,7 +1035,7 @@ 42 84 42 - </div>""", str(tmpl.generate(x=42))) + </div>""", tmpl.generate(x=42).render(encoding=None)) def test_as_element(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -1039,7 +1043,7 @@ </div>""") self.assertEqual("""<div> 84 - </div>""", str(tmpl.generate(x=42))) + </div>""", tmpl.generate(x=42).render(encoding=None)) def test_multiple_vars_same_name(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -1052,7 +1056,7 @@ </div>""") self.assertEqual("""<div> baz - </div>""", str(tmpl.generate(x=42))) + </div>""", tmpl.generate(x=42).render(encoding=None)) def test_multiple_vars_single_assignment(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -1060,7 +1064,7 @@ </div>""") self.assertEqual("""<div> 1 1 1 - </div>""", str(tmpl.generate(x=42))) + </div>""", tmpl.generate(x=42).render(encoding=None)) def test_nested_vars_single_assignment(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -1068,7 +1072,7 @@ </div>""") self.assertEqual("""<div> 1 2 3 - </div>""", str(tmpl.generate(x=42))) + </div>""", tmpl.generate(x=42).render(encoding=None)) def test_multiple_vars_trailing_semicolon(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -1076,7 +1080,7 @@ </div>""") self.assertEqual("""<div> 84 42 - </div>""", str(tmpl.generate(x=42))) + </div>""", tmpl.generate(x=42).render(encoding=None)) def test_semicolon_escape(self): tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> @@ -1088,7 +1092,7 @@ self.assertEqual("""<div> here is a semicolon: ; here are two semicolons: ;; - </div>""", str(tmpl.generate())) + </div>""", tmpl.generate().render(encoding=None)) def test_ast_transformation(self): """ @@ -1104,19 +1108,19 @@ <span> 42 </span> - </div>""", str(tmpl.generate(foo={'bar': 42}))) + </div>""", tmpl.generate(foo={'bar': 42}).render(encoding=None)) def test_unicode_expr(self): - tmpl = MarkupTemplate("""<div xmlns:py="http://genshi.edgewall.org/"> + tmpl = MarkupTemplate(u"""<div xmlns:py="http://genshi.edgewall.org/"> <span py:with="weeks=(u'一', u'二', u'三', u'四', u'五', u'六', u'日')"> $weeks </span> </div>""") - self.assertEqual("""<div> + self.assertEqual(u"""<div> <span> 一二三四五六日 </span> - </div>""", str(tmpl.generate())) + </div>""", tmpl.generate().render(encoding=None)) def test_with_empty_value(self): """ @@ -1126,7 +1130,7 @@ <span py:with="">Text</span></div>""") self.assertEqual("""<div> - <span>Text</span></div>""", str(tmpl.generate())) + <span>Text</span></div>""", tmpl.generate().render(encoding=None)) def suite():
--- a/genshi/template/tests/loader.py +++ b/genshi/template/tests/loader.py @@ -58,7 +58,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_relative_include_subdir(self): os.mkdir(os.path.join(self.dirname, 'sub')) @@ -80,7 +80,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_relative_include_parentdir(self): file1 = open(os.path.join(self.dirname, 'tmpl1.html'), 'w') @@ -102,7 +102,7 @@ tmpl = loader.load('sub/tmpl2.html') self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_relative_include_samesubdir(self): file1 = open(os.path.join(self.dirname, 'tmpl1.html'), 'w') @@ -130,7 +130,7 @@ tmpl = loader.load('sub/tmpl2.html') self.assertEqual("""<html> <div>Included sub/tmpl1.html</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_relative_include_without_search_path(self): file1 = open(os.path.join(self.dirname, 'tmpl1.html'), 'w') @@ -151,7 +151,7 @@ tmpl = loader.load(os.path.join(self.dirname, 'tmpl2.html')) self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_relative_include_without_search_path_nested(self): file1 = open(os.path.join(self.dirname, 'tmpl1.html'), 'w') @@ -182,7 +182,7 @@ <div> <div>Included</div> </div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_relative_include_from_inmemory_template(self): file1 = open(os.path.join(self.dirname, 'tmpl1.html'), 'w') @@ -198,7 +198,7 @@ self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl2.generate().render()) + </html>""", tmpl2.generate().render(encoding=None)) def test_relative_absolute_template_preferred(self): file1 = open(os.path.join(self.dirname, 'tmpl1.html'), 'w') @@ -227,7 +227,7 @@ 'tmpl2.html'))) self.assertEqual("""<html> <div>Included from sub</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_abspath_caching(self): abspath = os.path.join(self.dirname, 'abs') @@ -258,7 +258,7 @@ tmpl1 = loader.load(os.path.join(abspath, 'tmpl1.html')) self.assertEqual("""<html> <div>Included from searchpath.</div> - </html>""", tmpl1.generate().render()) + </html>""", tmpl1.generate().render(encoding=None)) assert 'tmpl2.html' in loader._cache def test_abspath_include_caching_without_search_path(self): @@ -295,11 +295,11 @@ tmpl1 = loader.load(os.path.join(self.dirname, 'tmpl1.html')) self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl1.generate().render()) + </html>""", tmpl1.generate().render(encoding=None)) tmpl2 = loader.load(os.path.join(self.dirname, 'sub', 'tmpl1.html')) self.assertEqual("""<html> <div>Included from sub</div> - </html>""", tmpl2.generate().render()) + </html>""", tmpl2.generate().render(encoding=None)) assert 'tmpl2.html' not in loader._cache def test_load_with_default_encoding(self): @@ -341,13 +341,13 @@ tmpl = loader.load('tmpl.html') self.assertEqual("""<html> <p>Hello, hello</p> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) # Make sure the filter is only added once tmpl = loader.load('tmpl.html') self.assertEqual("""<html> <p>Hello, hello</p> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_prefix_delegation_to_directories(self): """ @@ -393,7 +393,7 @@ tmpl = loader.load('sub1/tmpl1.html') self.assertEqual("""<html> <div>Included foo</div> from sub1 - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_prefix_delegation_to_directories_with_subdirs(self): """ @@ -449,7 +449,7 @@ <div>Included foo</div> from sub1 <div>tmpl2</div> from sub1 <div>bar/tmpl3</div> from sub1 - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def suite():
--- a/genshi/template/tests/markup.py +++ b/genshi/template/tests/markup.py @@ -277,7 +277,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> <div>Included 0</div><div>Included 1</div><div>Included 2</div> - </html>""", tmpl.generate(name='tmpl1').render()) + </html>""", tmpl.generate(name='tmpl1').render(encoding=None)) finally: shutil.rmtree(dirname) @@ -303,7 +303,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate(name='tmpl1').render()) + </html>""", tmpl.generate(name='tmpl1').render(encoding=None)) finally: shutil.rmtree(dirname) @@ -332,7 +332,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> <ul><li>1</li><li>2</li><li>3</li></ul> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -358,7 +358,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -395,7 +395,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> Missing - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -415,7 +415,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> Missing - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -446,7 +446,7 @@ tmpl = loader.load('tmpl3.html') self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -471,7 +471,7 @@ tmpl = loader.load('tmpl3.html') self.assertEqual("""<html> Missing - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -500,7 +500,7 @@ tmpl = loader.load('tmpl3.html') self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -522,7 +522,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> tmpl1.html not found - </html>""", tmpl.generate(debug=True).render()) + </html>""", tmpl.generate(debug=True).render(encoding=None)) finally: shutil.rmtree(dirname) @@ -550,7 +550,7 @@ self.assertEqual(7, len(tmpl.stream)) self.assertEqual("""<html> <div>Included</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -576,7 +576,7 @@ tmpl = loader.load('tmpl2.html') self.assertEqual("""<html> <div>Included 0</div><div>Included 1</div><div>Included 2</div> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -620,7 +620,7 @@ <body> wakka wakka wakka </body> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_with_in_match(self): xml = ("""<html xmlns:py="http://genshi.edgewall.org/"> @@ -636,7 +636,7 @@ <h1>bar</h1> <p>bar</p> </body> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_nested_include_matches(self): # See ticket #157 @@ -688,7 +688,7 @@ </div> </body> </html> -""", tmpl.generate().render()) +""", tmpl.generate().render(encoding=None)) finally: shutil.rmtree(dirname) @@ -711,7 +711,7 @@ <span>Foo</span> And some other stuff... </body> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def test_match_without_select(self): # See <http://genshi.edgewall.org/ticket/243> @@ -730,7 +730,7 @@ <body> This replaces the other text. </body> - </html>""", tmpl.generate().render()) + </html>""", tmpl.generate().render(encoding=None)) def suite():
--- a/genshi/template/tests/text.py +++ b/genshi/template/tests/text.py @@ -33,22 +33,23 @@ def test_escaping(self): tmpl = OldTextTemplate('\\#escaped') - self.assertEqual('#escaped', tmpl.generate().render()) + self.assertEqual('#escaped', tmpl.generate().render(encoding=None)) def test_comment(self): tmpl = OldTextTemplate('## a comment') - self.assertEqual('', tmpl.generate().render()) + self.assertEqual('', tmpl.generate().render(encoding=None)) def test_comment_escaping(self): tmpl = OldTextTemplate('\\## escaped comment') - self.assertEqual('## escaped comment', tmpl.generate().render()) + self.assertEqual('## escaped comment', + tmpl.generate().render(encoding=None)) def test_end_with_args(self): tmpl = OldTextTemplate(""" #if foo bar #end 'if foo'""") - self.assertEqual('\n', tmpl.generate(foo=False).render()) + self.assertEqual('\n', tmpl.generate(foo=False).render(encoding=None)) def test_latin1_encoded(self): text = u'$foo\xf6$bar'.encode('iso-8859-1') @@ -73,7 +74,7 @@ * 0 * 1 * 2 -""", tmpl.generate(items=range(3)).render()) +""", tmpl.generate(items=range(3)).render(encoding=None)) def test_empty_lines2(self): tmpl = OldTextTemplate("""Your items: @@ -90,7 +91,7 @@ * 2 -""", tmpl.generate(items=range(3)).render()) +""", tmpl.generate(items=range(3)).render(encoding=None)) def test_include(self): file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') @@ -112,7 +113,7 @@ self.assertEqual("""----- Included data below this line ----- Included ----- Included data above this line -----""", - tmpl.generate().render()) + tmpl.generate().render(encoding=None)) class NewTextTemplateTestCase(unittest.TestCase): @@ -126,22 +127,24 @@ def test_escaping(self): tmpl = NewTextTemplate('\\{% escaped %}') - self.assertEqual('{% escaped %}', tmpl.generate().render()) + self.assertEqual('{% escaped %}', + tmpl.generate().render(encoding=None)) def test_comment(self): tmpl = NewTextTemplate('{# a comment #}') - self.assertEqual('', tmpl.generate().render()) + self.assertEqual('', tmpl.generate().render(encoding=None)) def test_comment_escaping(self): tmpl = NewTextTemplate('\\{# escaped comment #}') - self.assertEqual('{# escaped comment #}', tmpl.generate().render()) + self.assertEqual('{# escaped comment #}', + tmpl.generate().render(encoding=None)) def test_end_with_args(self): tmpl = NewTextTemplate(""" {% if foo %} bar {% end 'if foo' %}""") - self.assertEqual('\n', tmpl.generate(foo=False).render()) + self.assertEqual('\n', tmpl.generate(foo=False).render(encoding=None)) def test_latin1_encoded(self): text = u'$foo\xf6$bar'.encode('iso-8859-1') @@ -166,7 +169,7 @@ * 0 * 1 * 2 -""", tmpl.generate(items=range(3)).render()) +""", tmpl.generate(items=range(3)).render(encoding=None)) def test_empty_lines2(self): tmpl = NewTextTemplate("""Your items: @@ -183,7 +186,7 @@ * 2 -""", tmpl.generate(items=range(3)).render()) +""", tmpl.generate(items=range(3)).render(encoding=None)) def test_exec_with_trailing_space(self): """ @@ -202,7 +205,7 @@ """) self.assertEqual(""" 2 days, 0:00:00 - """, tmpl.generate().render()) + """, tmpl.generate().render(encoding=None)) def test_exec_def(self): tmpl = NewTextTemplate("""{% python @@ -213,7 +216,7 @@ """) self.assertEqual(""" 42 - """, tmpl.generate().render()) + """, tmpl.generate().render(encoding=None)) def test_include(self): file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') @@ -234,7 +237,8 @@ tmpl = loader.load('tmpl2.txt', cls=NewTextTemplate) self.assertEqual("""----- Included data below this line ----- Included ------ Included data above this line -----""", tmpl.generate().render()) +----- Included data above this line -----""", + tmpl.generate().render(encoding=None)) def test_include_expr(self): file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') @@ -255,7 +259,8 @@ tmpl = loader.load('tmpl2.txt', cls=NewTextTemplate) self.assertEqual("""----- Included data below this line ----- Included - ----- Included data above this line -----""", tmpl.generate().render()) + ----- Included data above this line -----""", + tmpl.generate().render(encoding=None)) def suite():
--- a/genshi/template/text.py +++ b/genshi/template/text.py @@ -61,7 +61,7 @@ ... * ${'Item %d' % item} ... {% end %} ... ''') - >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render()) + >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render(encoding=None)) Dear Joe, <BLANKLINE> <BLANKLINE> @@ -86,7 +86,7 @@ ... * $item ... {% end %}\ ... ''') - >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render()) + >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render(encoding=None)) Dear Joe, <BLANKLINE> We have the following items for you: @@ -106,7 +106,7 @@ ... * $item ... {% end %}\ ... ''') - >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render()) + >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render(encoding=None)) Dear Joe, <BLANKLINE> {# This is a comment #} @@ -248,7 +248,7 @@ ... ... All the best, ... Foobar''') - >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render()) + >>> print(tmpl.generate(name='Joe', items=[1, 2, 3]).render(encoding=None)) Dear Joe, <BLANKLINE> We have the following items for you: