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