Exemple #1
0
    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_mcheckbox():
    no_value = '<span class="checkbox static" id="f-f">&nbsp;</span>'
    el = Form('f', static=True).add_mcheckbox('f', 'label', group='thegroup')
    assert el() == no_value, el()
    el = Form('f', static=True).add_mcheckbox('f',
                                              'label',
                                              group='thegroup',
                                              checked=True)
    assert el() == no_value, el()
    el = Form('f', static=True).add_mcheckbox('f', 'label', group='thegroup')
    assert el(checked='checked') == no_value, el(checked='checked')

    value = '<span class="checkbox static" id="f-f">foo</span>'
    el = Form('f', static=True).add_mcheckbox('f',
                                              'label',
                                              defaultval='foo',
                                              group='thegroup')
    assert el() == no_value, el()
    el = Form('f', static=True).add_mcheckbox('f',
                                              'label',
                                              defaultval='foo',
                                              group='thegroup',
                                              checked=True)
    assert el() == value, el()
    el = Form('f', static=True).add_mcheckbox('f',
                                              'label',
                                              defaultval='foo',
                                              group='thegroup')
    assert el(checked='checked') == value, el(checked='checked')

    # test the elements getting chosen by setting form defaults
    no_value1 = '<span class="checkbox static" id="f-f1">&nbsp;</span>'
    value1 = '<span class="checkbox static" id="f-f1">foo</span>'
    no_value2 = '<span class="checkbox static" id="f-f2">&nbsp;</span>'
    f = Form('f', static=True)
    el1 = f.add_mcheckbox('f1', 'label', 'foo', 'thegroup')
    el2 = f.add_mcheckbox('f2', 'label', 'bar', 'thegroup')
    assert el1() == no_value1, el1()
    assert el2() == no_value2, el2()
    f.set_defaults({'thegroup': 'foo'})
    assert el1() == value1, el1()
    assert el2() == no_value2, el2()