annotate genshi/template/tests/text.py @ 395:55cf81951686 experimental-inline

inline branch: Merged [439:479/trunk].
author cmlenz
date Thu, 28 Dec 2006 18:17:10 +0000
parents 5f2c7782cd8a
children 878ffab274a6 0742f421caba
rev   line source
336
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
2 #
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
3 # Copyright (C) 2006 Edgewall Software
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
4 # All rights reserved.
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
5 #
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
6 # This software is licensed as described in the file COPYING, which
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
7 # you should have received as part of this distribution. The terms
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
8 # are also available at http://genshi.edgewall.org/wiki/License.
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
9 #
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
10 # This software consists of voluntary contributions made by many
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
11 # individuals. For the exact contribution history, see the revision
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
12 # history and logs, available at http://genshi.edgewall.org/log/.
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
13
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
14 import doctest
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
15 import unittest
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
16
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
17 from genshi.template.text import TextTemplate
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
18
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
19
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
20 class TextTemplateTestCase(unittest.TestCase):
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
21 """Tests for text template processing."""
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
22
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
23 def test_escaping(self):
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
24 tmpl = TextTemplate('\\#escaped')
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
25 self.assertEqual('#escaped', str(tmpl.generate()))
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
26
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
27 def test_comment(self):
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
28 tmpl = TextTemplate('## a comment')
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
29 self.assertEqual('', str(tmpl.generate()))
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
30
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
31 def test_comment_escaping(self):
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
32 tmpl = TextTemplate('\\## escaped comment')
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
33 self.assertEqual('## escaped comment', str(tmpl.generate()))
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
34
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
35 def test_end_with_args(self):
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
36 tmpl = TextTemplate("""
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
37 #if foo
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
38 bar
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
39 #end 'if foo'""")
395
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
40 self.assertEqual('\n', str(tmpl.generate()))
336
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
41
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
42 def test_latin1_encoded(self):
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
43 text = u'$foo\xf6$bar'.encode('iso-8859-1')
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
44 tmpl = TextTemplate(text, encoding='iso-8859-1')
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
45 self.assertEqual(u'x\xf6y', unicode(tmpl.generate(foo='x', bar='y')))
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
46
395
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
47 def test_empty_lines1(self):
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
48 tmpl = TextTemplate("""Your items:
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
49
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
50 #for item in items
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
51 * ${item}
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
52 #end""")
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
53 self.assertEqual("""Your items:
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
54
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
55 * 0
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
56 * 1
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
57 * 2
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
58 """, tmpl.generate(items=range(3)).render('text'))
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
59
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
60 def test_empty_lines2(self):
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
61 tmpl = TextTemplate("""Your items:
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
62
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
63 #for item in items
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
64 * ${item}
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
65
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
66 #end""")
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
67 self.assertEqual("""Your items:
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
68
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
69 * 0
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
70
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
71 * 1
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
72
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
73 * 2
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
74
55cf81951686 inline branch: Merged [439:479/trunk].
cmlenz
parents: 336
diff changeset
75 """, tmpl.generate(items=range(3)).render('text'))
336
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
76
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
77
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
78 def suite():
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
79 suite = unittest.TestSuite()
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
80 suite.addTest(doctest.DocTestSuite(TextTemplate.__module__))
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
81 suite.addTest(unittest.makeSuite(TextTemplateTestCase, 'test'))
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
82 return suite
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
83
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
84 if __name__ == '__main__':
5f2c7782cd8a Refactoring: `genshi.template` is now a package, it was getting way to crowded in that file.
cmlenz
parents:
diff changeset
85 unittest.main(defaultTest='suite')
Copyright (C) 2012-2017 Edgewall Software