def test_roundtrip_from_initial_to_raw_string(): for raw, initial in raw_and_parsed_data_tuples: form = Form(fields=[shortcut(required=True, name='foo', initial=initial)], data={}) assert not form.get_errors() f = form.fields_by_name['foo'] if f.is_list: assert initial == f.value_list else: assert initial == f.value assert raw == f.rendered_value(), 'Roundtrip failed'
def test_roundtrip_from_raw_string_to_initial(): for raw, initial in raw_and_parsed_data_tuples: form = Form(fields=[shortcut(required=True, name='foo')], data={'foo': raw}) assert not form.get_errors(), 'input: %s' % raw f = form.fields_by_name['foo'] if f.is_list: assert f.raw_data_list == raw assert f.value_list == initial if initial: assert [type(x) for x in f.value_list] == [type(x) for x in initial] else: assert f.raw_data == raw assert f.value == initial assert type(f.value) == type(initial)
def test_normalizing(): for non_normalized, normalized in normalizing: form = Form(fields=[shortcut(required=True, name='foo')], data={'foo': non_normalized}) assert not form.get_errors() assert form.fields_by_name['foo'].rendered_value() == normalized
def test_editable_false(): f = Form(fields=[shortcut(required=False, name='foo', initial=SENTINEL, editable=False)], data={'foo': 'asdasasd'}) assert not f.get_errors() assert f.fields_by_name['foo'].value is SENTINEL or f.fields_by_name['foo'].value_list is SENTINEL
def test_empty_data(): f = Form(fields=[shortcut(required=False, name='foo')], data={}) assert not f.get_errors() assert f.fields_by_name['foo'].value is None assert f.fields_by_name['foo'].value_list is None