comparison test/test_templating.py @ 3972:eee76dd4a09f

'Make a Copy' failed with more than one person in nosy list [SF#1906147]
author Richard Jones <richard@users.sourceforge.net>
date Fri, 07 Mar 2008 00:35:47 +0000
parents 2372597ebbdb
children 13161539e5bd
comparison
equal deleted inserted replaced
3971:ff3a8b7d1819 3972:eee76dd4a09f
10 10
11 class TemplatingTestCase(unittest.TestCase): 11 class TemplatingTestCase(unittest.TestCase):
12 def setUp(self): 12 def setUp(self):
13 self.form = FieldStorage() 13 self.form = FieldStorage()
14 self.client = MockNull() 14 self.client = MockNull()
15 self.client.db = MockDatabase() 15 self.client.db = db = MockDatabase()
16 db.security.hasPermission = lambda *args, **kw: True
16 self.client.form = self.form 17 self.client.form = self.form
17 18
18 class HTMLDatabaseTestCase(TemplatingTestCase): 19 class HTMLDatabaseTestCase(TemplatingTestCase):
19 def test_HTMLDatabase___getitem__(self): 20 def test_HTMLDatabase___getitem__(self):
20 db = HTMLDatabase(self.client) 21 db = HTMLDatabase(self.client)
67 self.assertEqual(lookupKeys(shrubbery, 'spam', ['1','2']), 68 self.assertEqual(lookupKeys(shrubbery, 'spam', ['1','2']),
68 ['green', 'eggs']) 69 ['green', 'eggs'])
69 self.assertEqual(lookupKeys(shrubbery, 'spam', ['ok','2']), ['ok', 70 self.assertEqual(lookupKeys(shrubbery, 'spam', ['ok','2']), ['ok',
70 'eggs']) 71 'eggs'])
71 72
73 class HTMLClassTestCase(TemplatingTestCase) :
74
75 def test_multilink(self):
76 """`lookup` of an item will fail if leading or trailing whitespace
77 has not been stripped.
78 """
79 def lookup(key) :
80 self.assertEqual(key, key.strip())
81 return "User%s"%key
82 self.form.list.append(MiniFieldStorage("nosy", "1, 2"))
83 nosy = hyperdb.Multilink("user")
84 self.client.db.classes = dict \
85 ( issue = MockNull(getprops = lambda : dict(nosy = nosy))
86 , user = MockNull(get = lambda id, name : id, lookup = lookup)
87 )
88 cls = HTMLClass(self.client, "issue")
89 cls["nosy"]
90
72 ''' 91 '''
73 class HTMLPermissions: 92 class HTMLPermissions:
74 def is_edit_ok(self): 93 def is_edit_ok(self):
75 def is_view_ok(self): 94 def is_view_ok(self):
76 def is_only_view_ok(self): 95 def is_only_view_ok(self):
241 260
242 def test_suite(): 261 def test_suite():
243 suite = unittest.TestSuite() 262 suite = unittest.TestSuite()
244 suite.addTest(unittest.makeSuite(HTMLDatabaseTestCase)) 263 suite.addTest(unittest.makeSuite(HTMLDatabaseTestCase))
245 suite.addTest(unittest.makeSuite(FunctionsTestCase)) 264 suite.addTest(unittest.makeSuite(FunctionsTestCase))
265 suite.addTest(unittest.makeSuite(HTMLClassTestCase))
246 return suite 266 return suite
247 267
248 if __name__ == '__main__': 268 if __name__ == '__main__':
249 runner = unittest.TextTestRunner() 269 runner = unittest.TextTestRunner()
250 unittest.main(testRunner=runner) 270 unittest.main(testRunner=runner)

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