Mercurial > p > roundup > code
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) |
