Mercurial > genshi > mirror
comparison genshi/template/tests/text.py @ 865:1adf86694e01 trunk
Also skip the encoding step in the template tests.
author | cmlenz |
---|---|
date | Thu, 12 Nov 2009 21:25:37 +0000 |
parents | 7811327c536a |
children | 16ccaf7389d5 |
comparison
equal
deleted
inserted
replaced
864:f91289c7d092 | 865:1adf86694e01 |
---|---|
31 def tearDown(self): | 31 def tearDown(self): |
32 shutil.rmtree(self.dirname) | 32 shutil.rmtree(self.dirname) |
33 | 33 |
34 def test_escaping(self): | 34 def test_escaping(self): |
35 tmpl = OldTextTemplate('\\#escaped') | 35 tmpl = OldTextTemplate('\\#escaped') |
36 self.assertEqual('#escaped', tmpl.generate().render()) | 36 self.assertEqual('#escaped', tmpl.generate().render(encoding=None)) |
37 | 37 |
38 def test_comment(self): | 38 def test_comment(self): |
39 tmpl = OldTextTemplate('## a comment') | 39 tmpl = OldTextTemplate('## a comment') |
40 self.assertEqual('', tmpl.generate().render()) | 40 self.assertEqual('', tmpl.generate().render(encoding=None)) |
41 | 41 |
42 def test_comment_escaping(self): | 42 def test_comment_escaping(self): |
43 tmpl = OldTextTemplate('\\## escaped comment') | 43 tmpl = OldTextTemplate('\\## escaped comment') |
44 self.assertEqual('## escaped comment', tmpl.generate().render()) | 44 self.assertEqual('## escaped comment', |
45 tmpl.generate().render(encoding=None)) | |
45 | 46 |
46 def test_end_with_args(self): | 47 def test_end_with_args(self): |
47 tmpl = OldTextTemplate(""" | 48 tmpl = OldTextTemplate(""" |
48 #if foo | 49 #if foo |
49 bar | 50 bar |
50 #end 'if foo'""") | 51 #end 'if foo'""") |
51 self.assertEqual('\n', tmpl.generate(foo=False).render()) | 52 self.assertEqual('\n', tmpl.generate(foo=False).render(encoding=None)) |
52 | 53 |
53 def test_latin1_encoded(self): | 54 def test_latin1_encoded(self): |
54 text = u'$foo\xf6$bar'.encode('iso-8859-1') | 55 text = u'$foo\xf6$bar'.encode('iso-8859-1') |
55 tmpl = OldTextTemplate(text, encoding='iso-8859-1') | 56 tmpl = OldTextTemplate(text, encoding='iso-8859-1') |
56 self.assertEqual(u'x\xf6y', | 57 self.assertEqual(u'x\xf6y', |
71 self.assertEqual("""Your items: | 72 self.assertEqual("""Your items: |
72 | 73 |
73 * 0 | 74 * 0 |
74 * 1 | 75 * 1 |
75 * 2 | 76 * 2 |
76 """, tmpl.generate(items=range(3)).render()) | 77 """, tmpl.generate(items=range(3)).render(encoding=None)) |
77 | 78 |
78 def test_empty_lines2(self): | 79 def test_empty_lines2(self): |
79 tmpl = OldTextTemplate("""Your items: | 80 tmpl = OldTextTemplate("""Your items: |
80 | 81 |
81 #for item in items | 82 #for item in items |
88 | 89 |
89 * 1 | 90 * 1 |
90 | 91 |
91 * 2 | 92 * 2 |
92 | 93 |
93 """, tmpl.generate(items=range(3)).render()) | 94 """, tmpl.generate(items=range(3)).render(encoding=None)) |
94 | 95 |
95 def test_include(self): | 96 def test_include(self): |
96 file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') | 97 file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') |
97 try: | 98 try: |
98 file1.write("Included\n") | 99 file1.write("Included\n") |
110 loader = TemplateLoader([self.dirname]) | 111 loader = TemplateLoader([self.dirname]) |
111 tmpl = loader.load('tmpl2.txt', cls=OldTextTemplate) | 112 tmpl = loader.load('tmpl2.txt', cls=OldTextTemplate) |
112 self.assertEqual("""----- Included data below this line ----- | 113 self.assertEqual("""----- Included data below this line ----- |
113 Included | 114 Included |
114 ----- Included data above this line -----""", | 115 ----- Included data above this line -----""", |
115 tmpl.generate().render()) | 116 tmpl.generate().render(encoding=None)) |
116 | 117 |
117 | 118 |
118 class NewTextTemplateTestCase(unittest.TestCase): | 119 class NewTextTemplateTestCase(unittest.TestCase): |
119 """Tests for text template processing.""" | 120 """Tests for text template processing.""" |
120 | 121 |
124 def tearDown(self): | 125 def tearDown(self): |
125 shutil.rmtree(self.dirname) | 126 shutil.rmtree(self.dirname) |
126 | 127 |
127 def test_escaping(self): | 128 def test_escaping(self): |
128 tmpl = NewTextTemplate('\\{% escaped %}') | 129 tmpl = NewTextTemplate('\\{% escaped %}') |
129 self.assertEqual('{% escaped %}', tmpl.generate().render()) | 130 self.assertEqual('{% escaped %}', |
131 tmpl.generate().render(encoding=None)) | |
130 | 132 |
131 def test_comment(self): | 133 def test_comment(self): |
132 tmpl = NewTextTemplate('{# a comment #}') | 134 tmpl = NewTextTemplate('{# a comment #}') |
133 self.assertEqual('', tmpl.generate().render()) | 135 self.assertEqual('', tmpl.generate().render(encoding=None)) |
134 | 136 |
135 def test_comment_escaping(self): | 137 def test_comment_escaping(self): |
136 tmpl = NewTextTemplate('\\{# escaped comment #}') | 138 tmpl = NewTextTemplate('\\{# escaped comment #}') |
137 self.assertEqual('{# escaped comment #}', tmpl.generate().render()) | 139 self.assertEqual('{# escaped comment #}', |
140 tmpl.generate().render(encoding=None)) | |
138 | 141 |
139 def test_end_with_args(self): | 142 def test_end_with_args(self): |
140 tmpl = NewTextTemplate(""" | 143 tmpl = NewTextTemplate(""" |
141 {% if foo %} | 144 {% if foo %} |
142 bar | 145 bar |
143 {% end 'if foo' %}""") | 146 {% end 'if foo' %}""") |
144 self.assertEqual('\n', tmpl.generate(foo=False).render()) | 147 self.assertEqual('\n', tmpl.generate(foo=False).render(encoding=None)) |
145 | 148 |
146 def test_latin1_encoded(self): | 149 def test_latin1_encoded(self): |
147 text = u'$foo\xf6$bar'.encode('iso-8859-1') | 150 text = u'$foo\xf6$bar'.encode('iso-8859-1') |
148 tmpl = NewTextTemplate(text, encoding='iso-8859-1') | 151 tmpl = NewTextTemplate(text, encoding='iso-8859-1') |
149 self.assertEqual(u'x\xf6y', | 152 self.assertEqual(u'x\xf6y', |
164 self.assertEqual("""Your items: | 167 self.assertEqual("""Your items: |
165 | 168 |
166 * 0 | 169 * 0 |
167 * 1 | 170 * 1 |
168 * 2 | 171 * 2 |
169 """, tmpl.generate(items=range(3)).render()) | 172 """, tmpl.generate(items=range(3)).render(encoding=None)) |
170 | 173 |
171 def test_empty_lines2(self): | 174 def test_empty_lines2(self): |
172 tmpl = NewTextTemplate("""Your items: | 175 tmpl = NewTextTemplate("""Your items: |
173 | 176 |
174 {% for item in items %}\ | 177 {% for item in items %}\ |
181 | 184 |
182 * 1 | 185 * 1 |
183 | 186 |
184 * 2 | 187 * 2 |
185 | 188 |
186 """, tmpl.generate(items=range(3)).render()) | 189 """, tmpl.generate(items=range(3)).render(encoding=None)) |
187 | 190 |
188 def test_exec_with_trailing_space(self): | 191 def test_exec_with_trailing_space(self): |
189 """ | 192 """ |
190 Verify that a code block with trailing space does not cause a syntax | 193 Verify that a code block with trailing space does not cause a syntax |
191 error (see ticket #127). | 194 error (see ticket #127). |
200 tmpl = NewTextTemplate("""{% python from datetime import timedelta %} | 203 tmpl = NewTextTemplate("""{% python from datetime import timedelta %} |
201 ${timedelta(days=2)} | 204 ${timedelta(days=2)} |
202 """) | 205 """) |
203 self.assertEqual(""" | 206 self.assertEqual(""" |
204 2 days, 0:00:00 | 207 2 days, 0:00:00 |
205 """, tmpl.generate().render()) | 208 """, tmpl.generate().render(encoding=None)) |
206 | 209 |
207 def test_exec_def(self): | 210 def test_exec_def(self): |
208 tmpl = NewTextTemplate("""{% python | 211 tmpl = NewTextTemplate("""{% python |
209 def foo(): | 212 def foo(): |
210 return 42 | 213 return 42 |
211 %} | 214 %} |
212 ${foo()} | 215 ${foo()} |
213 """) | 216 """) |
214 self.assertEqual(""" | 217 self.assertEqual(""" |
215 42 | 218 42 |
216 """, tmpl.generate().render()) | 219 """, tmpl.generate().render(encoding=None)) |
217 | 220 |
218 def test_include(self): | 221 def test_include(self): |
219 file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') | 222 file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') |
220 try: | 223 try: |
221 file1.write("Included") | 224 file1.write("Included") |
232 | 235 |
233 loader = TemplateLoader([self.dirname]) | 236 loader = TemplateLoader([self.dirname]) |
234 tmpl = loader.load('tmpl2.txt', cls=NewTextTemplate) | 237 tmpl = loader.load('tmpl2.txt', cls=NewTextTemplate) |
235 self.assertEqual("""----- Included data below this line ----- | 238 self.assertEqual("""----- Included data below this line ----- |
236 Included | 239 Included |
237 ----- Included data above this line -----""", tmpl.generate().render()) | 240 ----- Included data above this line -----""", |
241 tmpl.generate().render(encoding=None)) | |
238 | 242 |
239 def test_include_expr(self): | 243 def test_include_expr(self): |
240 file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') | 244 file1 = open(os.path.join(self.dirname, 'tmpl1.txt'), 'w') |
241 try: | 245 try: |
242 file1.write("Included") | 246 file1.write("Included") |
253 | 257 |
254 loader = TemplateLoader([self.dirname]) | 258 loader = TemplateLoader([self.dirname]) |
255 tmpl = loader.load('tmpl2.txt', cls=NewTextTemplate) | 259 tmpl = loader.load('tmpl2.txt', cls=NewTextTemplate) |
256 self.assertEqual("""----- Included data below this line ----- | 260 self.assertEqual("""----- Included data below this line ----- |
257 Included | 261 Included |
258 ----- Included data above this line -----""", tmpl.generate().render()) | 262 ----- Included data above this line -----""", |
263 tmpl.generate().render(encoding=None)) | |
259 | 264 |
260 | 265 |
261 def suite(): | 266 def suite(): |
262 suite = unittest.TestSuite() | 267 suite = unittest.TestSuite() |
263 suite.addTest(doctest.DocTestSuite(NewTextTemplate.__module__)) | 268 suite.addTest(doctest.DocTestSuite(NewTextTemplate.__module__)) |