annotate test/test_htmltemplate.py @ 635:3d61b5d2243e

Added popup help for classes using the classhelp html template function. - add <display call="classhelp('priority', 'id,name,description')"> to an item page, and it generates a link to a popup window which displays the id, name and description for the priority class. The description field won't exist in most installations, but it will be added to the default templates.
author Richard Jones <richard@users.sourceforge.net>
date Thu, 21 Feb 2002 06:57:39 +0000
parents edd210915e64
children 7dd13fd5d8ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # Copyright (c) 2001 Richard Jones
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # This module is free software, and you may redistribute it and/or modify
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 # under the same terms as Python, so long as this copyright message and
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 # disclaimer are retained in their original form.
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 # This module is distributed in the hope that it will be useful,
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 #
635
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
11 # $Id: test_htmltemplate.py,v 1.10 2002-02-21 06:57:39 richard Exp $
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12
586
50fcb1357967 Proper fix for failing test
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 577
diff changeset
13 import unittest, cgi, time
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
15 from roundup import date, password
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 from roundup.htmltemplate import TemplateFunctions
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
17 from roundup.i18n import _
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
18 from roundup.hyperdb import String, Password, Date, Interval, Link, Multilink
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 class Class:
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21 def get(self, nodeid, attribute, default=None):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 if attribute == 'string':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 return 'Node %s: I am a string'%nodeid
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
24 elif attribute == 'filename':
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
25 return 'file.foo'
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 elif attribute == 'date':
635
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
27 return date.Date() + date.Interval('- 2y 2m')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 elif attribute == 'interval':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 return date.Interval('-3d')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 elif attribute == 'link':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 return '1'
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 elif attribute == 'multilink':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 return ['1', '2']
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
34 elif attribute == 'password':
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
35 return password.Password('sekrit')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 elif attribute == 'key':
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
37 return 'the key'+nodeid
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 elif attribute == 'html':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 return '<html>hello, I am HTML</html>'
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
40 elif attribute == 'multiline':
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
41 return 'hello\nworld'
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 def list(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 return ['1', '2']
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 def getprops(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 return {'string': String(), 'date': Date(), 'interval': Interval(),
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 'link': Link('other'), 'multilink': Multilink('other'),
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
47 'password': Password(), 'html': String(), 'key': String(),
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
48 'novalue': String(), 'filename': String(), 'multiline': String()}
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 def labelprop(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 return 'key'
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 class Database:
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 classes = {'other': Class()}
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 def getclass(self, name):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55 return Class()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 def __getattr(self, name):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 return Class()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
59 class Client:
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
60 write = None
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
61
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
62 class NodeCase(unittest.TestCase):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 def setUp(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64 ''' Set up the harness for calling the individual tests
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 '''
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66 self.tf = tf = TemplateFunctions()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67 tf.nodeid = '1'
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 tf.cl = Class()
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
69 tf.classname = 'test_class'
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 tf.properties = tf.cl.getprops()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 tf.db = Database()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 # def do_plain(self, property, escape=0):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 def testPlain_string(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 s = 'Node 1: I am a string'
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 self.assertEqual(self.tf.do_plain('string'), s)
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
78 def testPlain_password(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
79 self.assertEqual(self.tf.do_plain('password'), '*encrypted*')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
80
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
81 def testPlain_html(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82 s = '<html>hello, I am HTML</html>'
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 self.assertEqual(self.tf.do_plain('html', escape=0), s)
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84 s = cgi.escape(s)
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85 self.assertEqual(self.tf.do_plain('html', escape=1), s)
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
87 def testPlain_date(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
88 self.assertEqual(self.tf.do_plain('date'), '2000-01-01.00:00:00')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
89
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
90 def testPlain_interval(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 self.assertEqual(self.tf.do_plain('interval'), '- 3d')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
92
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
93 def testPlain_link(self):
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
94 self.assertEqual(self.tf.do_plain('link'), 'the key1')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96 def testPlain_multilink(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 self.assertEqual(self.tf.do_plain('multilink'), '1, 2')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
100 # def do_field(self, property, size=None, showid=0):
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101 def testField_string(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102 self.assertEqual(self.tf.do_field('string'),
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 '<input name="string" value="Node 1: I am a string" size="30">')
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
104 self.assertEqual(self.tf.do_field('string', size=10),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
105 '<input name="string" value="Node 1: I am a string" size="10">')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
106
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
107 def testField_password(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
108 self.assertEqual(self.tf.do_field('password'),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
109 '<input type="password" name="password" size="30">')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
110 self.assertEqual(self.tf.do_field('password', size=10),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
111 '<input type="password" name="password" size="10">')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
112
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
113 def testField_html(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
114 self.assertEqual(self.tf.do_field('html'), '<input name="html" '
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
115 'value="&lt;html&gt;hello, I am HTML&lt;/html&gt;" size="30">')
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
116 self.assertEqual(self.tf.do_field('html', size=10),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
117 '<input name="html" value="&lt;html&gt;hello, I am '
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
118 'HTML&lt;/html&gt;" size="10">')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
119
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
120 def testField_date(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
121 self.assertEqual(self.tf.do_field('date'),
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
122 '<input name="date" value="2000-01-01.00:00:00" size="30">')
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
123 self.assertEqual(self.tf.do_field('date', size=10),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
124 '<input name="date" value="2000-01-01.00:00:00" size="10">')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
125
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
126 def testField_interval(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
127 self.assertEqual(self.tf.do_field('interval'),
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
128 '<input name="interval" value="- 3d" size="30">')
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
129 self.assertEqual(self.tf.do_field('interval', size=10),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
130 '<input name="interval" value="- 3d" size="10">')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
131
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
132 def testField_link(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133 self.assertEqual(self.tf.do_field('link'), '''<select name="link">
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
134 <option value="-1">- no selection -</option>
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
135 <option selected value="1">the key1</option>
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
136 <option value="2">the key2</option>
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
137 </select>''')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
138
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139 def testField_multilink(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
140 self.assertEqual(self.tf.do_field('multilink'),
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
141 '<input name="multilink" size="30" value="the key1,the key2">')
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
142 self.assertEqual(self.tf.do_field('multilink', size=10),
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
143 '<input name="multilink" size="10" value="the key1,the key2">')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
144
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
145 # def do_multiline(self, property, rows=5, cols=40)
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
146 def testMultiline_string(self):
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
147 self.assertEqual(self.tf.do_multiline('multiline'),
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
148 '<textarea name="multiline" rows="5" cols="40">'
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
149 'hello\nworld</textarea>')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
150 self.assertEqual(self.tf.do_multiline('multiline', rows=10),
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
151 '<textarea name="multiline" rows="10" cols="40">'
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
152 'hello\nworld</textarea>')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
153 self.assertEqual(self.tf.do_multiline('multiline', cols=10),
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
154 '<textarea name="multiline" rows="5" cols="10">'
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
155 'hello\nworld</textarea>')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
156
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
157 def testMultiline_nonstring(self):
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
158 s = _('[Multiline: not a string]')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
159 self.assertEqual(self.tf.do_multiline('date'), s)
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
160 self.assertEqual(self.tf.do_multiline('interval'), s)
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
161 self.assertEqual(self.tf.do_multiline('password'), s)
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
162 self.assertEqual(self.tf.do_multiline('link'), s)
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
163 self.assertEqual(self.tf.do_multiline('multilink'), s)
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
164
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
165 # def do_menu(self, property, size=None, height=None, showid=0):
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
166 def testMenu_nonlinks(self):
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
167 s = _('[Menu: not a link]')
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
168 self.assertEqual(self.tf.do_menu('string'), s)
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
169 self.assertEqual(self.tf.do_menu('date'), s)
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
170 self.assertEqual(self.tf.do_menu('interval'), s)
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
171 self.assertEqual(self.tf.do_menu('password'), s)
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
172
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
173 def testMenu_link(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
174 self.assertEqual(self.tf.do_menu('link'), '''<select name="link">
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
175 <option value="-1">- no selection -</option>
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
176 <option selected value="1">the key1</option>
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
177 <option value="2">the key2</option>
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
178 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
179 self.assertEqual(self.tf.do_menu('link', size=6),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
180 '''<select name="link">
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
181 <option value="-1">- no selection -</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
182 <option selected value="1">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
183 <option value="2">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
184 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
185 self.assertEqual(self.tf.do_menu('link', showid=1),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
186 '''<select name="link">
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
187 <option value="-1">- no selection -</option>
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
188 <option selected value="1">other1: the key1</option>
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
189 <option value="2">other2: the key2</option>
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
190 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
191
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
192 def testMenu_multilink(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
193 self.assertEqual(self.tf.do_menu('multilink', height=10),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
194 '''<select multiple name="multilink" size="10">
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
195 <option selected value="1">the key1</option>
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
196 <option selected value="2">the key2</option>
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
197 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
198 self.assertEqual(self.tf.do_menu('multilink', size=6, height=10),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
199 '''<select multiple name="multilink" size="10">
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
200 <option selected value="1">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
201 <option selected value="2">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
202 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
203 self.assertEqual(self.tf.do_menu('multilink', showid=1),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
204 '''<select multiple name="multilink" size="2">
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
205 <option selected value="1">other1: the key1</option>
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
206 <option selected value="2">other2: the key2</option>
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
207 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
208
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
209 # def do_link(self, property=None, is_download=0):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
210 def testLink_novalue(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
211 self.assertEqual(self.tf.do_link('novalue'),
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
212 _('[no %(propname)s]')%{'propname':'novalue'.capitalize()})
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
213
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
214 def testLink_string(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
215 self.assertEqual(self.tf.do_link('string'),
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
216 '<a href="test_class1">Node 1: I am a string</a>')
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
217
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
218 def testLink_file(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
219 self.assertEqual(self.tf.do_link('filename', is_download=1),
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
220 '<a href="test_class1/file.foo">file.foo</a>')
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
221
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
222 def testLink_date(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
223 self.assertEqual(self.tf.do_link('date'),
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
224 '<a href="test_class1">2000-01-01.00:00:00</a>')
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
225
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
226 def testLink_interval(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
227 self.assertEqual(self.tf.do_link('interval'),
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
228 '<a href="test_class1">- 3d</a>')
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
229
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
230 def testLink_link(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
231 self.assertEqual(self.tf.do_link('link'),
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
232 '<a href="other1">the key1</a>')
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
233
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
234 def testLink_multilink(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
235 self.assertEqual(self.tf.do_link('multilink'),
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
236 '<a href="other1">the key1</a>, <a href="other2">the key2</a>')
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
237
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
238 # def do_count(self, property, **args):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
239 def testCount_nonlinks(self):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
240 s = _('[Count: not a Multilink]')
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
241 self.assertEqual(self.tf.do_count('string'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
242 self.assertEqual(self.tf.do_count('date'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
243 self.assertEqual(self.tf.do_count('interval'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
244 self.assertEqual(self.tf.do_count('password'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
245 self.assertEqual(self.tf.do_count('link'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
246
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
247 def testCount_multilink(self):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
248 self.assertEqual(self.tf.do_count('multilink'), '2')
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
249
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
250 # def do_reldate(self, property, pretty=0):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
251 def testReldate_nondate(self):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
252 s = _('[Reldate: not a Date]')
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
253 self.assertEqual(self.tf.do_reldate('string'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
254 self.assertEqual(self.tf.do_reldate('interval'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
255 self.assertEqual(self.tf.do_reldate('password'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
256 self.assertEqual(self.tf.do_reldate('link'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
257 self.assertEqual(self.tf.do_reldate('multilink'), s)
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
258
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
259 def testReldate_date(self):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
260 self.assertEqual(self.tf.do_reldate('date'), '- 2y 1m')
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
261 date = self.tf.cl.get('1', 'date')
600
a4c32558d345 [SF#511586] unittest FAIL: testReldate_date
Richard Jones <richard@users.sourceforge.net>
parents: 586
diff changeset
262 self.assertEqual(self.tf.do_reldate('date', pretty=1), date.pretty())
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
263
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
264 # def do_download(self, property):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
265 def testDownload_novalue(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
266 self.assertEqual(self.tf.do_download('novalue'),
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
267 _('[no %(propname)s]')%{'propname':'novalue'.capitalize()})
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
268
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
269 def testDownload_string(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
270 self.assertEqual(self.tf.do_download('string'),
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
271 '<a href="test_class1/Node 1: I am a string">Node 1: '
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
272 'I am a string</a>')
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
273
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
274 def testDownload_file(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
275 self.assertEqual(self.tf.do_download('filename', is_download=1),
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
276 '<a href="test_class1/file.foo">file.foo</a>')
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
277
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
278 def testDownload_date(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
279 self.assertEqual(self.tf.do_download('date'),
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
280 '<a href="test_class1/2000-01-01.00:00:00">2000-01-01.00:00:00</a>')
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
281
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
282 def testDownload_interval(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
283 self.assertEqual(self.tf.do_download('interval'),
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
284 '<a href="test_class1/- 3d">- 3d</a>')
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
285
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
286 def testDownload_link(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
287 self.assertEqual(self.tf.do_download('link'),
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
288 '<a href="other1/the key1">the key1</a>')
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
289
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
290 def testDownload_multilink(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
291 self.assertEqual(self.tf.do_download('multilink'),
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
292 '<a href="other1/the key1">the key1</a>, '
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
293 '<a href="other2/the key2">the key2</a>')
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
294
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
295 # def do_checklist(self, property, reverse=0):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
296 def testChecklink_nonlinks(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
297 s = _('[Checklist: not a link]')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
298 self.assertEqual(self.tf.do_checklist('string'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
299 self.assertEqual(self.tf.do_checklist('date'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
300 self.assertEqual(self.tf.do_checklist('interval'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
301 self.assertEqual(self.tf.do_checklist('password'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
302
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
303 def testChecklink_link(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
304 self.assertEqual(self.tf.do_checklist('link'),
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
305 '''the key1:<input type="checkbox" checked name="link" value="the key1">
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
306 the key2:<input type="checkbox" name="link" value="the key2">
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
307 [unselected]:<input type="checkbox" name="link" value="-1">''')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
308
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
309 def testChecklink_multilink(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
310 self.assertEqual(self.tf.do_checklist('multilink'),
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
311 '''the key1:<input type="checkbox" checked name="multilink" value="the key1">
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
312 the key2:<input type="checkbox" checked name="multilink" value="the key2">''')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
313
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
314 # def do_note(self, rows=5, cols=80):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
315 def testNote(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
316 self.assertEqual(self.tf.do_note(), '<textarea name="__note" '
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
317 'wrap="hard" rows=5 cols=80></textarea>')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
318
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
319 # def do_list(self, property, reverse=0):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
320 def testList_nonlinks(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
321 s = _('[List: not a Multilink]')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
322 self.assertEqual(self.tf.do_list('string'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
323 self.assertEqual(self.tf.do_list('date'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
324 self.assertEqual(self.tf.do_list('interval'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
325 self.assertEqual(self.tf.do_list('password'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
326 self.assertEqual(self.tf.do_list('link'), s)
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
327
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
328 def testList_multilink(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
329 # TODO: test this (needs to have lots and lots of support!
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
330 #self.assertEqual(self.tf.do_list('multilink'),'')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
331 pass
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
332
635
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
333 def testClasshelp(self):
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
334 self.assertEqual(self.tf.do_classhelp('theclass', 'prop1,prop2'),
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
335 '<a href="javascript:help_window(\'classhelp?classname=theclass'
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
336 '&properties=prop1,prop2\')"><b>(?)</b></a>')
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
337
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
338 def suite():
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
339 return unittest.makeSuite(NodeCase, 'test')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
340
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
341
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
342 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
343 # $Log: not supported by cvs2svn $
635
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
344 # Revision 1.9 2002/02/15 07:08:45 richard
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
345 # . Alternate email addresses are now available for users. See the MIGRATION
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
346 # file for info on how to activate the feature.
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
347 #
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
348 # Revision 1.8 2002/02/06 03:47:16 richard
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
349 # . #511586 ] unittest FAIL: testReldate_date
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
350 #
600
a4c32558d345 [SF#511586] unittest FAIL: testReldate_date
Richard Jones <richard@users.sourceforge.net>
parents: 586
diff changeset
351 # Revision 1.7 2002/01/23 20:09:41 jhermann
a4c32558d345 [SF#511586] unittest FAIL: testReldate_date
Richard Jones <richard@users.sourceforge.net>
parents: 586
diff changeset
352 # Proper fix for failing test
a4c32558d345 [SF#511586] unittest FAIL: testReldate_date
Richard Jones <richard@users.sourceforge.net>
parents: 586
diff changeset
353 #
586
50fcb1357967 Proper fix for failing test
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 577
diff changeset
354 # Revision 1.6 2002/01/23 05:47:57 richard
50fcb1357967 Proper fix for failing test
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 577
diff changeset
355 # more HTML template cleanup and unit tests
50fcb1357967 Proper fix for failing test
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 577
diff changeset
356 #
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
357 # Revision 1.5 2002/01/23 05:10:28 richard
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
358 # More HTML template cleanup and unit tests.
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
359 # - download() now implemented correctly, replacing link(is_download=1) [fixed in the
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
360 # templates, but link(is_download=1) will still work for existing templates]
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
361 #
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
362 # Revision 1.4 2002/01/22 22:46:22 richard
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
363 # more htmltemplate cleanups and unit tests
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
364 #
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
365 # Revision 1.3 2002/01/22 06:35:40 richard
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
366 # more htmltemplate tests and cleanup
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
367 #
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
368 # Revision 1.2 2002/01/22 00:12:07 richard
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
369 # Wrote more unit tests for htmltemplate, and while I was at it, I polished
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
370 # off the implementation of some of the functions so they behave sanely.
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
371 #
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
372 # Revision 1.1 2002/01/21 11:05:48 richard
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
373 # New tests for htmltemplate (well, it's a beginning)
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
374 #
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
375 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
376 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
377 # vim: set filetype=python ts=4 sw=4 et si

Roundup Issue Tracker: http://roundup-tracker.org/