2018-04-25 15:48:01 +01:00
|
|
|
import pytest
|
|
|
|
|
from wtforms import Form, StringField
|
|
|
|
|
|
|
|
|
|
from app.main.forms import StripWhitespaceForm, StripWhitespaceStringField
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ExampleForm(StripWhitespaceForm):
|
2023-08-25 09:12:23 -07:00
|
|
|
foo = StringField("Foo")
|
2018-04-25 15:48:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class ExampleFormSpecialField(Form):
|
2023-08-25 09:12:23 -07:00
|
|
|
foo = StripWhitespaceStringField("foo")
|
2018-04-25 15:48:01 +01:00
|
|
|
|
|
|
|
|
|
2023-08-25 09:12:23 -07:00
|
|
|
@pytest.mark.parametrize(
|
|
|
|
|
"submitted_data",
|
|
|
|
|
[
|
|
|
|
|
"bar",
|
|
|
|
|
" bar ",
|
|
|
|
|
"""
|
2018-04-25 15:48:01 +01:00
|
|
|
\t bar
|
|
|
|
|
""",
|
2023-08-25 09:12:23 -07:00
|
|
|
" \u180E\u200B \u200C bar \u200D \u2060\uFEFF ",
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
|
"form",
|
|
|
|
|
[
|
|
|
|
|
ExampleForm,
|
|
|
|
|
ExampleFormSpecialField,
|
|
|
|
|
],
|
|
|
|
|
)
|
2018-04-25 15:48:01 +01:00
|
|
|
def test_form_strips_all_whitespace(
|
2021-05-12 14:57:21 +01:00
|
|
|
notify_admin,
|
2018-04-25 15:48:01 +01:00
|
|
|
form,
|
|
|
|
|
submitted_data,
|
|
|
|
|
):
|
2023-08-25 09:12:23 -07:00
|
|
|
assert form(foo=submitted_data).foo.data == "bar"
|