Ejemplo n.º 1
0
    def test_accept_multiple_values_for_None(self):
        f = forms_xso.Field()
        f.type_ = None
        f.var = "foobar"
        f.values.append(forms_xso.Value())
        f.values.append(forms_xso.Value())

        f.validate()
Ejemplo n.º 2
0
 def test_unpack(self):
     t = forms_xso.ValueElement()
     v = forms_xso.Value()
     v.value = "foobar"
     self.assertEqual(
         v.value,
         t.unpack(v)
     )
Ejemplo n.º 3
0
 def test_parse(self):
     t = forms_xso.ValueElement()
     v = forms_xso.Value()
     v.value = "foobar"
     self.assertEqual(
         v.value,
         t.parse(v)
     )
Ejemplo n.º 4
0
    def test_accept_multiple_values_on_multi_fields(self):
        types = {"list-multi", "text-multi", "jid-multi"}

        value = forms_xso.Value()

        for type_ in types:
            f = forms_xso.Field()
            f.type_ = type_
            f.var = "foobar"
            f.values.append(value)
            f.values.append(value)

            f.validate()
Ejemplo n.º 5
0
    def test_accept_multiple_values_on_multi_fields(self):
        types = {
            forms_xso.FieldType.LIST_MULTI,
            forms_xso.FieldType.TEXT_MULTI,
            forms_xso.FieldType.JID_MULTI,
        }

        value = forms_xso.Value()

        for type_ in types:
            f = forms_xso.Field()
            f.type_ = type_
            f.var = "foobar"
            f.values.append(value)
            f.values.append(value)

            f.validate()
Ejemplo n.º 6
0
    def test_reject_multiple_values_for_non_multi_fields(self):
        types = set(forms_xso.FieldType)
        types.discard(forms_xso.FieldType.LIST_MULTI)
        types.discard(forms_xso.FieldType.TEXT_MULTI)
        types.discard(forms_xso.FieldType.JID_MULTI)

        value = forms_xso.Value()

        for type_ in types:
            f = forms_xso.Field()
            f.type_ = type_
            f.var = "foobar"
            f.values.append(value)
            f.values.append(value)

            with self.assertRaisesRegex(ValueError,
                                        "too many values on non-multi field"):
                f.validate()
Ejemplo n.º 7
0
    def test_reject_multiple_values_for_non_multi_fields(self):
        types = set(forms_xso.Field.type_.validator.values)
        types.discard("text-multi")
        types.discard("list-multi")
        types.discard("jid-multi")

        value = forms_xso.Value()

        for type_ in types:
            f = forms_xso.Field()
            f.type_ = type_
            f.var = "foobar"
            f.values.append(value)
            f.values.append(value)

            with self.assertRaisesRegex(ValueError,
                                        "too many values on non-multi field"):
                f.validate()