def test_submit_by_name(self): f = Form('login') f.add_text('username', 'User Name') f.add_submit('submit') post = { 'login-submit-flag': 'submitted', 'username': '******', 'submit': 'Submit' } f.set_submitted(post) assert f.get_values() == { 'username': '******', 'login-submit-flag': 'submitted', 'submit': 'Submit' } f = Form('login') f.add_text('username', 'User Name', name="unfield") f.add_submit('submit', name="submitbtn") post = { 'login-submit-flag': 'submitted', 'unfield': 'test2', 'submitbtn': 'Submit' } f.set_submitted(post) self.assertEqual( f.get_values(), { 'unfield': 'test2', 'login-submit-flag': 'submitted', 'submitbtn': 'Submit' })
def test_blank_multiselect(self): f = Form('login') options = [(1, 'one'), (2, 'two')] el = f.add_mselect('numlist', options, 'Disabled', defaultval=2) assert 'selected="selected"' in el() post = {'login-submit-flag': 'submitted'} f.set_submitted(post) assert not f.get_values()['numlist'] # should unset on re-post after a blank submit assert 'selected="selected"' not in el()
def test_blank_radio(self): f = Form('login') el1 = f.add_radio('radio1', 'Radio 1', 1, 'rgroup1', selected=True) el2 = f.add_radio('radio2', 'Radio 2', 2, 'rgroup1') assert 'checked="checked"' in el1() assert 'checked="checked"' not in el2() post = {'login-submit-flag': 'submitted'} f.set_submitted(post) assert not f.get_values()['rgroup1'] # should unset on re-post after a blank submit assert 'selected="selected"' not in el1() assert 'selected="selected"' not in el2()
def test_blank_multicheckbox(self): f = Form('login') el1 = f.add_mcheckbox('mcheck1', 'Check 1', 1, 'cgroup1', checked=True) el2 = f.add_mcheckbox('mcheck2', 'Check 2', 2, 'cgroup1') assert 'checked="checked"' in el1() assert 'checked="checked"' not in el2() post = {'login-submit-flag': 'submitted'} f.set_submitted(post) assert not f.get_values()['cgroup1'] # should unset on re-post after a blank submit assert 'checked="checked"' not in el1() assert 'checked="checked"' not in el2()
def test_submit(self): f = Form('login') f.add_text('username', 'User Name') f.set_defaults({'username': '******'}) post = {'login-submit-flag': 'submitted', 'username': '******'} f.set_submitted(post) self.assertEqual( '<input class="text" id="login-username" name="username" type="text" value="test2" />', str(f.elements.username.render())) assert f.get_values() == { 'username': '******', 'login-submit-flag': 'submitted' }
def test_blank_checkbox(self): html = L( '<input checked="checked" class="checkbox" id="login-disabled" name="disabled" ' 'type="checkbox" />') f = Form('login') el = f.add_checkbox('disabled', 'Disabled', defaultval=True) self.assertEqual(el(), html) post = {'login-submit-flag': 'submitted'} f.set_submitted(post) dvalue = f.get_values()['disabled'] assert dvalue is False # should unset on re-post after a blank submit html = L( '<input class="checkbox" id="login-disabled" name="disabled" type="checkbox" />' ) self.assertEqual(el(), html)