comparison test/test_templating.py @ 8289:46886073c665

refactor: change method used to assign radiobuttons for boolean use setdefault('type', 'radiobutton') rather than hardcoding the value into the underlying self.input (input_html4) call. Also add test for undefined radiobutton.
author John Rouillard <rouilj@ieee.org>
date Sat, 18 Jan 2025 17:43:08 -0500
parents e70dc7c43c9c
children b99e76e76496
comparison
equal deleted inserted replaced
8288:e70dc7c43c9c 8289:46886073c665
801 801
802 y_label = ( '<label class="rblabel" for="issue1@%(propname)s_yes">' 802 y_label = ( '<label class="rblabel" for="issue1@%(propname)s_yes">'
803 'True</label>') % params 803 'True</label>') % params
804 n_label = ('<label class="rblabel" ' 804 n_label = ('<label class="rblabel" '
805 'for="issue1@%(propname)s_no">False</label>') % params 805 'for="issue1@%(propname)s_no">False</label>') % params
806 u_label = ('<label class="rblabel" '
807 'for="issue1@%(propname)s_unk">Ignore</label>') % params
806 808
807 input_expected = ( 809 input_expected = (
808 '<input %(check1)sid="issue1@%(propname)s_yes" ' 810 '<input %(check1)sid="issue1@%(propname)s_yes" '
809 'name="issue1@%(propname)s" type="radio" value="yes">' 811 'name="issue1@%(propname)s" type="radio" value="yes">'
810 + y_label + 812 + y_label +
826 'type="radio" value="no">') % params 828 'type="radio" value="no">') % params
827 829
828 print(d.field(labelfirst=True)) 830 print(d.field(labelfirst=True))
829 self.assertEqual(d.field(labelfirst=True), input_expected) 831 self.assertEqual(d.field(labelfirst=True), input_expected)
830 832
831 # one test on the last d is enough. 833 input_expected = (
834 '<label class="rblabel" for="issue1@%(propname)s_unk">'
835 'Ignore</label>'
836 '<input id="issue1@%(propname)s_unk" '
837 'name="issue1@%(propname)s" type="radio" value="">'
838 '<input %(check1)sid="issue1@%(propname)s_yes" '
839 'name="issue1@%(propname)s" type="radio" value="yes">'
840 '<label class="rblabel" for="issue1@%(propname)s_yes">'
841 'Yes</label>'
842 '<input %(check2)sid="issue1@%(propname)s_no" name="issue1@%(propname)s" '
843 'type="radio" value="no"><label class="rblabel" '
844 'for="issue1@%(propname)s_no">No</label>') % params
845
846 self.assertEqual(d.field(u_label=u_label), input_expected)
847
848
849 # one test with the last d is enough.
832 # check permissions return 850 # check permissions return
833 is_view_ok_orig = d.is_view_ok 851 is_view_ok_orig = d.is_view_ok
834 is_edit_ok_orig = d.is_edit_ok 852 is_edit_ok_orig = d.is_edit_ok
835 no_access = lambda : False 853 no_access = lambda : False
836 854

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