Mercurial > p > roundup > code
diff test/test_htmltemplate.py @ 890:a568596dbea7
Unit tests and a few fixes.
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Thu, 18 Jul 2002 23:07:08 +0000 |
| parents | 37ce3f2e05b2 |
| children | b0d3d3535998 |
line wrap: on
line diff
--- a/test/test_htmltemplate.py Thu Jul 18 21:53:10 2002 +0000 +++ b/test/test_htmltemplate.py Thu Jul 18 23:07:08 2002 +0000 @@ -8,14 +8,15 @@ # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # -# $Id: test_htmltemplate.py,v 1.16 2002-07-09 05:20:09 richard Exp $ +# $Id: test_htmltemplate.py,v 1.17 2002-07-18 23:07:07 richard Exp $ import unittest, cgi, time from roundup import date, password from roundup.htmltemplate import TemplateFunctions from roundup.i18n import _ -from roundup.hyperdb import String, Password, Date, Interval, Link, Multilink +from roundup.hyperdb import String, Password, Date, Interval, Link, \ + Multilink, Boolean, Number class Class: def get(self, nodeid, attribute, default=None): @@ -25,6 +26,10 @@ return 'file.foo' elif attribute == 'date': return date.Date('2000-01-01') + elif attribute == 'boolean': + return 0 + elif attribute == 'number': + return 1234 elif attribute == 'reldate': return date.Date() + date.Interval('- 2y 1m') elif attribute == 'interval': @@ -52,7 +57,8 @@ 'link': Link('other'), 'multilink': Multilink('other'), 'password': Password(), 'html': String(), 'key': String(), 'novalue': String(), 'filename': String(), 'multiline': String(), - 'reldate': Date(), 'email': String()} + 'reldate': Date(), 'email': String(), 'boolean': Boolean(), + 'number': Number()} def labelprop(self, default_to_id=0): return 'key' @@ -103,6 +109,11 @@ def testPlain_multilink(self): self.assertEqual(self.tf.do_plain('multilink'), 'the key1, the key2') + def testPlain_boolean(self): + self.assertEqual(self.tf.do_plain('boolean'), 'No') + + def testPlain_number(self): + self.assertEqual(self.tf.do_plain('number'), '1234') # def do_field(self, property, size=None, showid=0): def testField_string(self): @@ -149,6 +160,16 @@ self.assertEqual(self.tf.do_field('multilink', size=10), '<input name="multilink" size="10" value="the key1,the key2">') + def testField_boolean(self): + self.assertEqual(self.tf.do_field('boolean'), + '<input type="checkbox" name="boolean" >') + + def testField_number(self): + self.assertEqual(self.tf.do_field('number'), + '<input name="number" value="1234" size="30">') + self.assertEqual(self.tf.do_field('number', size=10), + '<input name="number" value="1234" size="10">') + # def do_multiline(self, property, rows=5, cols=40) def testMultiline_string(self): self.assertEqual(self.tf.do_multiline('multiline'), @@ -168,6 +189,8 @@ self.assertEqual(self.tf.do_multiline('password'), s) self.assertEqual(self.tf.do_multiline('link'), s) self.assertEqual(self.tf.do_multiline('multilink'), s) + self.assertEqual(self.tf.do_multiline('boolean'), s) + self.assertEqual(self.tf.do_multiline('number'), s) # def do_menu(self, property, size=None, height=None, showid=0): def testMenu_nonlinks(self): @@ -176,6 +199,8 @@ self.assertEqual(self.tf.do_menu('date'), s) self.assertEqual(self.tf.do_menu('interval'), s) self.assertEqual(self.tf.do_menu('password'), s) + self.assertEqual(self.tf.do_menu('boolean'), s) + self.assertEqual(self.tf.do_menu('number'), s) def testMenu_link(self): self.assertEqual(self.tf.do_menu('link'), '''<select name="link"> @@ -250,6 +275,14 @@ self.assertEqual(self.tf.do_link('multilink', showid=1), '<a href="other1" title="the key1">1</a>, <a href="other2" title="the key2">2</a>') + def testLink_boolean(self): + self.assertEqual(self.tf.do_link('boolean'), + '<a href="test_class1">No</a>') + + def testLink_number(self): + self.assertEqual(self.tf.do_link('number'), + '<a href="test_class1">1234</a>') + # def do_count(self, property, **args): def testCount_nonlinks(self): s = _('[Count: not a Multilink]') @@ -258,6 +291,8 @@ self.assertEqual(self.tf.do_count('interval'), s) self.assertEqual(self.tf.do_count('password'), s) self.assertEqual(self.tf.do_count('link'), s) + self.assertEqual(self.tf.do_count('boolean'), s) + self.assertEqual(self.tf.do_count('number'), s) def testCount_multilink(self): self.assertEqual(self.tf.do_count('multilink'), '2') @@ -270,6 +305,8 @@ self.assertEqual(self.tf.do_reldate('password'), s) self.assertEqual(self.tf.do_reldate('link'), s) self.assertEqual(self.tf.do_reldate('multilink'), s) + self.assertEqual(self.tf.do_reldate('boolean'), s) + self.assertEqual(self.tf.do_reldate('number'), s) def testReldate_date(self): self.assertEqual(self.tf.do_reldate('reldate'), '- 2y 1m') @@ -308,15 +345,25 @@ '<a href="other1/the key1">the key1</a>, ' '<a href="other2/the key2">the key2</a>') + def testDownload_boolean(self): + self.assertEqual(self.tf.do_download('boolean'), + '<a href="test_class1/No">No</a>') + + def testDownload_number(self): + self.assertEqual(self.tf.do_download('number'), + '<a href="test_class1/1234">1234</a>') + # def do_checklist(self, property, reverse=0): - def testChecklink_nonlinks(self): + def testChecklist_nonlinks(self): s = _('[Checklist: not a link]') self.assertEqual(self.tf.do_checklist('string'), s) self.assertEqual(self.tf.do_checklist('date'), s) self.assertEqual(self.tf.do_checklist('interval'), s) self.assertEqual(self.tf.do_checklist('password'), s) + self.assertEqual(self.tf.do_checklist('boolean'), s) + self.assertEqual(self.tf.do_checklist('number'), s) - def testChecklink_link(self): + def testChecklstk_link(self): self.assertEqual(self.tf.do_checklist('link'), '''the key1:<input type="checkbox" checked name="link" value="the key1"> the key2:<input type="checkbox" name="link" value="the key2"> @@ -340,6 +387,8 @@ self.assertEqual(self.tf.do_list('interval'), s) self.assertEqual(self.tf.do_list('password'), s) self.assertEqual(self.tf.do_list('link'), s) + self.assertEqual(self.tf.do_list('boolean'), s) + self.assertEqual(self.tf.do_list('number'), s) def testList_multilink(self): # TODO: test this (needs to have lots and lots of support! @@ -362,6 +411,8 @@ self.assertEqual(self.tf.do_email('password'), s) self.assertEqual(self.tf.do_email('link'), s) self.assertEqual(self.tf.do_email('multilink'), s) + self.assertEqual(self.tf.do_email('boolean'), s) + self.assertEqual(self.tf.do_email('number'), s) def suite(): return unittest.makeSuite(NodeCase, 'test') @@ -369,6 +420,10 @@ # # $Log: not supported by cvs2svn $ +# Revision 1.16 2002/07/09 05:20:09 richard +# . added email display function - mangles email addrs so they're not so easily +# scraped from the web +# # Revision 1.15 2002/07/08 06:39:00 richard # Fixed unit test support class so the tests ran again. #
