1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
import pytest
from wtforms.fields import StringField
from wtforms.fields.choices import SelectFieldBase
from wtforms.form import Form
class MyCustomField(StringField):
def process_data(self, data):
if data == "fail":
raise ValueError("Contrived Failure")
return super().process_data(data)
class F(Form):
a = MyCustomField()
b = SelectFieldBase()
def test_processing_failure():
form = F(a="42")
assert form.validate()
form = F(a="fail")
assert not form.validate()
def test_default_impls():
f = F()
with pytest.raises(NotImplementedError):
f.b.iter_choices()
|