annotate test/test_htmltemplate.py @ 905:502a5ae11cc5

Very close now. The cgi and mailgw now use the new security API. The two templates have been migrated to that setup. Lots of unit tests. Still some issue in the web form for editing Roles assigned to users.
author Richard Jones <richard@users.sourceforge.net>
date Fri, 26 Jul 2002 08:27:00 +0000
parents b0d3d3535998
children fdcf16b444a9
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 #
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
11 # $Id: test_htmltemplate.py,v 1.19 2002-07-26 08:27:00 richard Exp $
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
13 import unittest, cgi, time, os, shutil
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
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
16 from roundup.htmltemplate import TemplateFunctions, IndexTemplate, ItemTemplate
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
17 from roundup.i18n import _
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
18 from roundup.hyperdb import String, Password, Date, Interval, Link, \
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
19 Multilink, Boolean, Number
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
21 class TestClass:
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 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
23 if attribute == 'string':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 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
25 elif attribute == 'filename':
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
26 return 'file.foo'
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 elif attribute == 'date':
640
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
28 return date.Date('2000-01-01')
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
29 elif attribute == 'boolean':
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
30 return 0
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
31 elif attribute == 'number':
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
32 return 1234
640
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
33 elif attribute == 'reldate':
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
34 return date.Date() + date.Interval('- 2y 1m')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35 elif attribute == 'interval':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 return date.Interval('-3d')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 elif attribute == 'link':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 return '1'
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 elif attribute == 'multilink':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 return ['1', '2']
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
41 elif attribute == 'password':
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
42 return password.Password('sekrit')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 elif attribute == 'key':
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
44 return 'the key'+nodeid
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 elif attribute == 'html':
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 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
47 elif attribute == 'multiline':
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
48 return 'hello\nworld'
829
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
49 elif attribute == 'email':
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
50 return 'test@foo.domain.example'
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 def list(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 return ['1', '2']
814
9a17342a9e04 Fixed unit test support class so the tests ran again.
Richard Jones <richard@users.sourceforge.net>
parents: 722
diff changeset
53 def filter(self, search_matches, filterspec, sort, group):
9a17342a9e04 Fixed unit test support class so the tests ran again.
Richard Jones <richard@users.sourceforge.net>
parents: 722
diff changeset
54 return ['1', '2']
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55 def getprops(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 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
57 'link': Link('other'), 'multilink': Multilink('other'),
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
58 'password': Password(), 'html': String(), 'key': String(),
640
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
59 'novalue': String(), 'filename': String(), 'multiline': String(),
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
60 'reldate': Date(), 'email': String(), 'boolean': Boolean(),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
61 'number': Number()}
814
9a17342a9e04 Fixed unit test support class so the tests ran again.
Richard Jones <richard@users.sourceforge.net>
parents: 722
diff changeset
62 def labelprop(self, default_to_id=0):
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 return 'key'
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
65 class TestDatabase:
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
66 classes = {'other': TestClass()}
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67 def getclass(self, name):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 return Class()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 def __getattr(self, name):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 return Class()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
72 class FunctionCase(unittest.TestCase):
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 def setUp(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 ''' 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
75 '''
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 self.tf = tf = TemplateFunctions()
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 tf.nodeid = '1'
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
78 tf.cl = TestClass()
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
79 tf.classname = 'test_class'
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 tf.properties = tf.cl.getprops()
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
81 tf.db = TestDatabase()
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 # 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
84 def testPlain_string(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85 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
86 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
87
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
88 def testPlain_password(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
89 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
90
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 def testPlain_html(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
92 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
93 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
94 s = cgi.escape(s)
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95 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
96
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 def testPlain_date(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 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
99
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
100 def testPlain_interval(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101 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
102
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 def testPlain_link(self):
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
104 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
105
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
106 def testPlain_multilink(self):
672
d92e06a3a56e Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 640
diff changeset
107 self.assertEqual(self.tf.do_plain('multilink'), 'the key1, the key2')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
108
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
109 def testPlain_boolean(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
110 self.assertEqual(self.tf.do_plain('boolean'), 'No')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
111
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
112 def testPlain_number(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
113 self.assertEqual(self.tf.do_plain('number'), '1234')
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
114
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
115 # 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
116 def testField_string(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
117 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
118 '<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
119 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
120 '<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
121
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
122 def testField_password(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
123 self.assertEqual(self.tf.do_field('password'),
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
124 '<input type="password" name="password" size="30">')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
125 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
126 '<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
127
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
128 def testField_html(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
129 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
130 '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
131 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
132 '<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
133 '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
134
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
135 def testField_date(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
136 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
137 '<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
138 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
139 '<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
140
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
141 def testField_interval(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
142 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
143 '<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
144 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
145 '<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
146
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 def testField_link(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148 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
149 <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
150 <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
151 <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
152 </select>''')
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
153
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
154 def testField_multilink(self):
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
155 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
156 '<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
157 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
158 '<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
159
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
160 def testField_boolean(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
161 self.assertEqual(self.tf.do_field('boolean'),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
162 '<input type="checkbox" name="boolean" >')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
163
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
164 def testField_number(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
165 self.assertEqual(self.tf.do_field('number'),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
166 '<input name="number" value="1234" size="30">')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
167 self.assertEqual(self.tf.do_field('number', size=10),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
168 '<input name="number" value="1234" size="10">')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
169
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
170 # 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
171 def testMultiline_string(self):
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
172 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
173 '<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
174 'hello\nworld</textarea>')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
175 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
176 '<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
177 'hello\nworld</textarea>')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
178 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
179 '<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
180 'hello\nworld</textarea>')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
181
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
182 def testMultiline_nonstring(self):
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
183 s = _('[Multiline: not a string]')
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
184 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
185 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
186 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
187 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
188 self.assertEqual(self.tf.do_multiline('multilink'), s)
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
189 self.assertEqual(self.tf.do_multiline('boolean'), s)
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
190 self.assertEqual(self.tf.do_multiline('number'), s)
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
191
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
192 # 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
193 def testMenu_nonlinks(self):
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
194 s = _('[Menu: not a link]')
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
195 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
196 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
197 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
198 self.assertEqual(self.tf.do_menu('password'), s)
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
199 self.assertEqual(self.tf.do_menu('boolean'), s)
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
200 self.assertEqual(self.tf.do_menu('number'), s)
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
201
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
202 def testMenu_link(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
203 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
204 <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
205 <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
206 <option value="2">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 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
209 '''<select name="link">
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
210 <option value="-1">- no selection -</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
211 <option selected value="1">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
212 <option value="2">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
213 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
214 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
215 '''<select name="link">
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
216 <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
217 <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
218 <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
219 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
220
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
221 def testMenu_multilink(self):
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
222 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
223 '''<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
224 <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
225 <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
226 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
227 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
228 '''<select multiple name="multilink" size="10">
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
229 <option selected value="1">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
230 <option selected value="2">the...</option>
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
231 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
232 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
233 '''<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
234 <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
235 <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
236 </select>''')
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
237
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
238 # 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
239 def testLink_novalue(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
240 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
241 _('[no %(propname)s]')%{'propname':'novalue'.capitalize()})
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
242
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
243 def testLink_string(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
244 self.assertEqual(self.tf.do_link('string'),
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
245 '<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
246
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
247 def testLink_file(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
248 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
249 '<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
250
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
251 def testLink_date(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
252 self.assertEqual(self.tf.do_link('date'),
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
253 '<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
254
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
255 def testLink_interval(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
256 self.assertEqual(self.tf.do_link('interval'),
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
257 '<a href="test_class1">- 3d</a>')
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
258
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
259 def testLink_link(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
260 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
261 '<a href="other1">the key1</a>')
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
262
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
263 def testLink_link_id(self):
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
264 self.assertEqual(self.tf.do_link('link', showid=1),
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
265 '<a href="other1" title="the key1">1</a>')
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
266
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
267 def testLink_multilink(self):
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
268 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
269 '<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
270
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
271 def testLink_multilink_id(self):
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
272 self.assertEqual(self.tf.do_link('multilink', showid=1),
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
273 '<a href="other1" title="the key1">1</a>, <a href="other2" title="the key2">2</a>')
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
274
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
275 def testLink_boolean(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
276 self.assertEqual(self.tf.do_link('boolean'),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
277 '<a href="test_class1">No</a>')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
278
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
279 def testLink_number(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
280 self.assertEqual(self.tf.do_link('number'),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
281 '<a href="test_class1">1234</a>')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
282
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
283 # def do_count(self, property, **args):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
284 def testCount_nonlinks(self):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
285 s = _('[Count: not a Multilink]')
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
286 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
287 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
288 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
289 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
290 self.assertEqual(self.tf.do_count('link'), s)
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
291 self.assertEqual(self.tf.do_count('boolean'), s)
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
292 self.assertEqual(self.tf.do_count('number'), s)
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
293
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
294 def testCount_multilink(self):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
295 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
296
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
297 # def do_reldate(self, property, pretty=0):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
298 def testReldate_nondate(self):
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
299 s = _('[Reldate: not a Date]')
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
300 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
301 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
302 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
303 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
304 self.assertEqual(self.tf.do_reldate('multilink'), s)
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
305 self.assertEqual(self.tf.do_reldate('boolean'), s)
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
306 self.assertEqual(self.tf.do_reldate('number'), s)
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
307
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
308 def testReldate_date(self):
640
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
309 self.assertEqual(self.tf.do_reldate('reldate'), '- 2y 1m')
722
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
310 interval = date.Interval('- 2y 1m')
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
311 self.assertEqual(self.tf.do_reldate('reldate', pretty=1),
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
312 interval.pretty())
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
313
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
314 # def do_download(self, property):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
315 def testDownload_novalue(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
316 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
317 _('[no %(propname)s]')%{'propname':'novalue'.capitalize()})
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
318
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
319 def testDownload_string(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
320 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
321 '<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
322 'I am a string</a>')
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
323
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
324 def testDownload_file(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
325 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
326 '<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
327
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
328 def testDownload_date(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
329 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
330 '<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
331
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
332 def testDownload_interval(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
333 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
334 '<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
335
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
336 def testDownload_link(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
337 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
338 '<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
339
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
340 def testDownload_multilink(self):
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
341 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
342 '<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
343 '<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
344
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
345 def testDownload_boolean(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
346 self.assertEqual(self.tf.do_download('boolean'),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
347 '<a href="test_class1/No">No</a>')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
348
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
349 def testDownload_number(self):
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
350 self.assertEqual(self.tf.do_download('number'),
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
351 '<a href="test_class1/1234">1234</a>')
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
352
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
353 # def do_checklist(self, property, reverse=0):
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
354 def testChecklist_nonlinks(self):
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
355 s = _('[Checklist: not a link]')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
356 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
357 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
358 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
359 self.assertEqual(self.tf.do_checklist('password'), s)
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
360 self.assertEqual(self.tf.do_checklist('boolean'), s)
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
361 self.assertEqual(self.tf.do_checklist('number'), s)
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
362
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
363 def testChecklstk_link(self):
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
364 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
365 '''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
366 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
367 [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
368
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
369 def testChecklink_multilink(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
370 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
371 '''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
372 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
373
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
374 # 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
375 def testNote(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
376 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
377 '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
378
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
379 # 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
380 def testList_nonlinks(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
381 s = _('[List: not a Multilink]')
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
382 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
383 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
384 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
385 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
386 self.assertEqual(self.tf.do_list('link'), s)
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
387 self.assertEqual(self.tf.do_list('boolean'), s)
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
388 self.assertEqual(self.tf.do_list('number'), s)
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
389
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
390 def testList_multilink(self):
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
391 # 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
392 #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
393 pass
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
394
635
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
395 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
396 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
397 '<a href="javascript:help_window(\'classhelp?classname=theclass'
640
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
398 '&properties=prop1,prop2\', \'400\', \'400\')"><b>(?)</b></a>')
635
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
399
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
400 # def do_email(self, property, rows=5, cols=40)
829
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
401 def testEmail_string(self):
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
402 self.assertEqual(self.tf.do_email('email'), 'test at foo domain example')
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
403
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
404 def testEmail_nonstring(self):
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
405 s = _('[Email: not a string]')
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
406 self.assertEqual(self.tf.do_email('date'), s)
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
407 self.assertEqual(self.tf.do_email('interval'), s)
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
408 self.assertEqual(self.tf.do_email('password'), s)
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
409 self.assertEqual(self.tf.do_email('link'), s)
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
410 self.assertEqual(self.tf.do_email('multilink'), s)
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
411 self.assertEqual(self.tf.do_email('boolean'), s)
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
412 self.assertEqual(self.tf.do_email('number'), s)
829
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
413
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
414
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
415 from test_db import setupSchema, MyTestCase, config
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
416
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
417 class Client:
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
418 user = 'admin'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
419
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
420 class IndexTemplateCase(unittest.TestCase):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
421 def setUp(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
422 from roundup.backends import anydbm
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
423 # remove previous test, ignore errors
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
424 if os.path.exists(config.DATABASE):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
425 shutil.rmtree(config.DATABASE)
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
426 os.makedirs(config.DATABASE + '/files')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
427 self.db = anydbm.Database(config, 'test')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
428 setupSchema(self.db, 1, anydbm)
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
429
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
430 client = Client()
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
431 client.db = self.db
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
432 client.instance = None
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
433 self.tf = tf = IndexTemplate(client, '', 'issue')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
434 tf.props = ['title']
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
435
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
436 # admin user
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
437 self.db.user.create(username="admin", roles='Admin')
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
438 self.db.user.create(username="anonymous", roles='User')
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
439
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
440 def testBasic(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
441 self.assertEqual(self.tf.execute_template('hello'), 'hello')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
442
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
443 def testValue(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
444 self.tf.nodeid = self.db.issue.create(title="spam", status='1')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
445 self.assertEqual(self.tf.execute_template('<display call="plain(\'title\')">'), 'spam')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
446
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
447 def testColumnSelection(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
448 self.tf.nodeid = self.db.issue.create(title="spam", status='1')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
449 self.assertEqual(self.tf.execute_template('<property name="title">'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
450 '<display call="plain(\'title\')"></property>'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
451 '<property name="bar">hello</property>'), 'spam')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
452 self.tf.props = ['bar']
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
453 self.assertEqual(self.tf.execute_template('<property name="title">'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
454 '<display call="plain(\'title\')"></property>'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
455 '<property name="bar">hello</property>'), 'hello')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
456
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
457 def testSecurityPass(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
458 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
459 '<require permission="Edit">hello<else>foo</require>'), 'hello')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
460
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
461 def testSecurityPassValue(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
462 self.tf.nodeid = self.db.issue.create(title="spam", status='1')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
463 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
464 '<require permission="Edit">'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
465 '<display call="plain(\'title\')">'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
466 '<else>not allowed</require>'), 'spam')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
467
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
468 def testSecurityFail(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
469 self.tf.client.user = 'anonymous'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
470 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
471 '<require permission="Edit">hello<else>foo</require>'), 'foo')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
472
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
473 def testSecurityFailValue(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
474 self.tf.nodeid = self.db.issue.create(title="spam", status='1')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
475 self.tf.client.user = 'anonymous'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
476 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
477 '<require permission="Edit">allowed<else>'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
478 '<display call="plain(\'title\')"></require>'), 'spam')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
479
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
480 def tearDown(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
481 if os.path.exists('_test_dir'):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
482 shutil.rmtree('_test_dir')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
483
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
484
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
485 class ItemTemplateCase(unittest.TestCase):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
486 def setUp(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
487 ''' Set up the harness for calling the individual tests
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
488 '''
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
489 from roundup.backends import anydbm
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
490 # remove previous test, ignore errors
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
491 if os.path.exists(config.DATABASE):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
492 shutil.rmtree(config.DATABASE)
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
493 os.makedirs(config.DATABASE + '/files')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
494 self.db = anydbm.Database(config, 'test')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
495 setupSchema(self.db, 1, anydbm)
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
496
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
497 client = Client()
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
498 client.db = self.db
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
499 client.instance = None
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
500 self.tf = tf = IndexTemplate(client, '', 'issue')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
501 tf.nodeid = self.db.issue.create(title="spam", status='1')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
502
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
503 # admin user
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
504 self.db.user.create(username="admin", roles='Admin')
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
505 self.db.user.create(username="anonymous", roles='User')
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
506
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
507 def testBasic(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
508 self.assertEqual(self.tf.execute_template('hello'), 'hello')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
509
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
510 def testValue(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
511 self.assertEqual(self.tf.execute_template('<display call="plain(\'title\')">'), 'spam')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
512
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
513 def testSecurityPass(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
514 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
515 '<require permission="Edit">hello<else>foo</require>'), 'hello')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
516
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
517 def testSecurityPassValue(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
518 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
519 '<require permission="Edit">'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
520 '<display call="plain(\'title\')">'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
521 '<else>not allowed</require>'), 'spam')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
522
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
523 def testSecurityFail(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
524 self.tf.client.user = 'anonymous'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
525 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
526 '<require permission="Edit">hello<else>foo</require>'), 'foo')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
527
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
528 def testSecurityFailValue(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
529 self.tf.client.user = 'anonymous'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
530 self.assertEqual(self.tf.execute_template(
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
531 '<require permission="Edit">allowed<else>'
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
532 '<display call="plain(\'title\')"></require>'), 'spam')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
533
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
534 def tearDown(self):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
535 if os.path.exists('_test_dir'):
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
536 shutil.rmtree('_test_dir')
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
537
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
538 def suite():
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
539 return unittest.TestSuite([
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
540 unittest.makeSuite(FunctionCase, 'test'),
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
541 unittest.makeSuite(IndexTemplateCase, 'test'),
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
542 unittest.makeSuite(ItemTemplateCase, 'test'),
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
543 ])
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
544
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
545
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
546 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
547 # $Log: not supported by cvs2svn $
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
548 # Revision 1.18 2002/07/25 07:14:06 richard
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
549 # Bugger it. Here's the current shape of the new security implementation.
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
550 # Still to do:
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
551 # . call the security funcs from cgi and mailgw
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
552 # . change shipped templates to include correct initialisation and remove
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
553 # the old config vars
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
554 # ... that seems like a lot. The bulk of the work has been done though. Honest :)
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 902
diff changeset
555 #
902
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
556 # Revision 1.17 2002/07/18 23:07:07 richard
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
557 # Unit tests and a few fixes.
b0d3d3535998 Bugger it. Here's the current shape of the new security implementation.
Richard Jones <richard@users.sourceforge.net>
parents: 890
diff changeset
558 #
890
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
559 # Revision 1.16 2002/07/09 05:20:09 richard
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
560 # . added email display function - mangles email addrs so they're not so easily
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
561 # scraped from the web
a568596dbea7 Unit tests and a few fixes.
Richard Jones <richard@users.sourceforge.net>
parents: 829
diff changeset
562 #
829
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
563 # Revision 1.15 2002/07/08 06:39:00 richard
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
564 # Fixed unit test support class so the tests ran again.
37ce3f2e05b2 added email display function
Richard Jones <richard@users.sourceforge.net>
parents: 814
diff changeset
565 #
814
9a17342a9e04 Fixed unit test support class so the tests ran again.
Richard Jones <richard@users.sourceforge.net>
parents: 722
diff changeset
566 # Revision 1.14 2002/05/15 06:37:31 richard
9a17342a9e04 Fixed unit test support class so the tests ran again.
Richard Jones <richard@users.sourceforge.net>
parents: 722
diff changeset
567 # ehem and the unit test
9a17342a9e04 Fixed unit test support class so the tests ran again.
Richard Jones <richard@users.sourceforge.net>
parents: 722
diff changeset
568 #
722
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
569 # Revision 1.13 2002/04/03 05:54:31 richard
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
570 # Fixed serialisation problem by moving the serialisation step out of the
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
571 # hyperdb.Class (get, set) into the hyperdb.Database.
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
572 #
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
573 # Also fixed htmltemplate after the showid changes I made yesterday.
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
574 #
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
575 # Unit tests for all of the above written.
431c3f9c8ac9 ehem and the unit test
Richard Jones <richard@users.sourceforge.net>
parents: 676
diff changeset
576 #
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
577 # Revision 1.12 2002/03/29 19:41:48 rochecompaan
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
578 # . Fixed display of mutlilink properties when using the template
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
579 # functions, menu and plain.
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 672
diff changeset
580 #
672
d92e06a3a56e Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 640
diff changeset
581 # Revision 1.11 2002/02/21 23:11:45 richard
d92e06a3a56e Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 640
diff changeset
582 # . fixed some problems in date calculations (calendar.py doesn't handle over-
d92e06a3a56e Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 640
diff changeset
583 # and under-flow). Also, hour/minute/second intervals may now be more than
d92e06a3a56e Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 640
diff changeset
584 # 99 each.
d92e06a3a56e Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 640
diff changeset
585 #
640
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
586 # Revision 1.10 2002/02/21 06:57:39 richard
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
587 # . Added popup help for classes using the classhelp html template function.
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
588 # - add <display call="classhelp('priority', 'id,name,description')">
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
589 # to an item page, and it generates a link to a popup window which displays
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
590 # the id, name and description for the priority class. The description
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
591 # field won't exist in most installations, but it will be added to the
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
592 # default templates.
7dd13fd5d8ea fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents: 635
diff changeset
593 #
635
3d61b5d2243e Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents: 617
diff changeset
594 # 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
595 # . 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
596 # 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
597 #
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
598 # 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
599 # . #511586 ] unittest FAIL: testReldate_date
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 600
diff changeset
600 #
600
a4c32558d345 [SF#511586] unittest FAIL: testReldate_date
Richard Jones <richard@users.sourceforge.net>
parents: 586
diff changeset
601 # 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
602 # Proper fix for failing test
a4c32558d345 [SF#511586] unittest FAIL: testReldate_date
Richard Jones <richard@users.sourceforge.net>
parents: 586
diff changeset
603 #
586
50fcb1357967 Proper fix for failing test
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 577
diff changeset
604 # 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
605 # more HTML template cleanup and unit tests
50fcb1357967 Proper fix for failing test
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 577
diff changeset
606 #
577
334ae707ebfc more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 576
diff changeset
607 # 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
608 # 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
609 # - 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
610 # 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
611 #
576
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
612 # 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
613 # more htmltemplate cleanups and unit tests
f98f37697f4c More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents: 574
diff changeset
614 #
574
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
615 # 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
616 # more htmltemplate tests and cleanup
d41d94511170 more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents: 568
diff changeset
617 #
568
c7ead967db85 more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 563
diff changeset
618 # 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
619 # 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
620 # 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
621 #
563
0f58d6a35a8b Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents: 561
diff changeset
622 # 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
623 # 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
624 #
561
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
625 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
626 #
13df980755fa New tests for htmltemplate (well, it's a beginning)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
627 # vim: set filetype=python ts=4 sw=4 et si

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