Пример #1
0
def are_forms_equal(first: Form, second: Form) -> bool:
    first_keys = set(first.keys())
    second_keys = set(second.keys())
    if first_keys != second_keys:
        return False

    for k in first_keys:
        if first[k].value != second[k].value:
            return False

    return True
Пример #2
0
class TestForm(unittest.TestCase):

    def setUp(self):
        self.html = '''
            <form>
                <input name="vocals" />
                <input name="guitar" type="file" />
                <select name="drums">
                    <option value="roger">Roger<br />
                    <option value="john">John<br />
                </select>
                <input type="radio" name="bass" value="Roger">Roger<br />
                <input type="radio" name="bass" value="John">John<br />
            </form>
        '''
        self.form = Form(self.html)

    def test_fields(self):
        keys = set(('vocals', 'guitar', 'drums', 'bass'))
        assert_equal(set(self.form.fields.keys()), keys)
        assert_equal(set(self.form.keys()), keys)

    def test_repr(self):
        assert_equal(
            repr(self.form),
            '<RoboForm vocals=, guitar=, drums=roger, bass=>'
        )

    def test_repr_empty(self):
        assert_equal(
            repr(Form('<form></form>')),
            '<RoboForm>'
        )
Пример #3
0
class TestForm(unittest.TestCase):
    def setUp(self):
        self.html = '''
            <form>
                <input name="vocals" />
                <input name="guitar" type="file" />
                <select name="drums">
                    <option value="roger">Roger<br />
                    <option value="john">John<br />
                </select>
                <input type="radio" name="bass" value="Roger">Roger<br />
                <input type="radio" name="bass" value="John">John<br />
            </form>
        '''
        self.form = Form(self.html)

    def test_fields(self):
        keys = set(('vocals', 'guitar', 'drums', 'bass'))
        assert_equal(set(self.form.fields.keys()), keys)
        assert_equal(set(self.form.keys()), keys)

    def test_repr(self):
        assert_equal(repr(self.form),
                     '<RoboForm vocals=, guitar=, drums=roger, bass=>')

    def test_repr_empty(self):
        assert_equal(repr(Form('<form></form>')), '<RoboForm>')
Пример #4
0
class TestForm(unittest.TestCase):

    def setUp(self):
        self.html = '''
            <form>
                <input name="vocals" />
                <input name="guitar" type="file" />
                <select name="drums">
                    <option value="roger">Roger<br />
                    <option value="john">John<br />
                </select>
                <input type="radio" name="bass" value="Roger">Roger<br />
                <input type="radio" name="bass" value="John">John<br />
                <input name="multi" value="multi1" />
                <input name="multi" value="multi2" />
                <input type="submit" name="submit" value="submit" />
            </form>
        '''
        self.form = Form(self.html)

    def test_fields(self):
        keys = set(('vocals', 'guitar', 'drums', 'bass', 'multi', 'submit'))
        assert_equal(set(self.form.fields.keys()), keys)
        assert_equal(set(self.form.keys()), keys)

    def test_add_field(self):
        html = '<input name="instrument" />'
        field = fields.Input(html)
        self.form.add_field(field)
        assert_true('instrument' in self.form.fields)

    def test_add_field_wrong_type(self):
        assert_raises(ValueError, lambda: self.form.add_field('freddie'))

    def test_repr(self):
        assert_equal(
            repr(self.form),
            '<RoboForm vocals=, guitar=, drums=roger, bass=, '
                'multi=multi1, multi=multi2, submit=submit>'
        )

    def test_repr_empty(self):
        assert_equal(
            repr(Form('<form></form>')),
            '<RoboForm>'
        )

    def test_repr_unicode(self):
        form = Form(u'<form><input name="drüms" value="bäss" /></form>')
        assert_equal(
            repr(form),
            '<RoboForm drüms=bäss>'
        )

    def test_serialize(self):
        serialized = self.form.serialize()
        assert_equal(serialized.data.getlist('multi'), ['multi1', 'multi2'])
        assert_equal(serialized.data['submit'], 'submit')
Пример #5
0
class TestForm(unittest.TestCase):
    def setUp(self):
        self.html = '''
            <form>
                <input name="vocals" />
                <input name="guitar" type="file" />
                <select name="drums">
                    <option value="roger">Roger<br />
                    <option value="john">John<br />
                </select>
                <input type="radio" name="bass" value="Roger">Roger<br />
                <input type="radio" name="bass" value="John">John<br />
                <input name="multi" value="multi1" />
                <input name="multi" value="multi2" />
                <input type="submit" name="submit" value="submit" />
            </form>
        '''
        self.form = Form(self.html)

    def test_fields(self):
        keys = set(('vocals', 'guitar', 'drums', 'bass', 'multi', 'submit'))
        assert_equal(set(self.form.fields.keys()), keys)
        assert_equal(set(self.form.keys()), keys)

    def test_add_field(self):
        html = '<input name="instrument" />'
        field = fields.Input(html)
        self.form.add_field(field)
        assert_true('instrument' in self.form.fields)

    def test_add_field_wrong_type(self):
        assert_raises(ValueError, lambda: self.form.add_field('freddie'))

    def test_repr(self):
        assert_equal(
            repr(self.form), '<RoboForm vocals=, guitar=, drums=roger, bass=, '
            'multi=multi1, multi=multi2, submit=submit>')

    def test_repr_empty(self):
        assert_equal(repr(Form('<form></form>')), '<RoboForm>')

    def test_repr_unicode(self):
        form = Form(u'<form><input name="drüms" value="bäss" /></form>')
        assert_equal(repr(form), '<RoboForm drüms=bäss>')

    def test_serialize(self):
        serialized = self.form.serialize()
        assert_equal(serialized.data.getlist('multi'), ['multi1', 'multi2'])
        assert_equal(serialized.data['submit'], 'submit')