import py import form import field class TestForm(object): def setup_method(self, meth): self.form = form.form(meth.im_func.func_name, [ field.line('foo', 'foo'), ]) def test_render_basic(self): html, error = self.form.render(None) assert not error assert html.startswith('
') def test_render_with_data(self): html, error = self.form.render({ 'test_render_with_data': 'true', 'foo': 'bar', }) assert not error assert 'class="former-error"' not in html assert 'value="bar"' in html def test_render_with_error(self): html, error = self.form.render({ 'test_render_with_error': 'true', 'foo': '', }) assert len(error) == 1 assert 'class="former-error"' in html def test_render_with_missing_field(self): html, error = self.form.render({ 'test_render_with_missing_field': 'true', }) assert len(error) == 1 assert 'class="former-error"' in html def test_render_without_key(self): html, error = self.form.render({ 'foo': '', }) assert not error def test_process_data(self): data, error = self.form.process_data(None) assert data is None assert error == [] data, error = self.form.process_data({ 'test_process_data': 'true', 'foo': 'bar', }) assert data == {'foo': 'bar'} assert error == [] data, error = self.form.process_data({ 'test_process_data': 'true', 'foo': '', }) assert data == {'foo': ''} assert len(error) == 1 data, error = self.form.process_data({ 'test_process_data': 'true', }) assert data == {'foo': ''} assert len(error) == 1 data, error = self.form.process_data({ 'foo': 'bar', }) assert data is None assert error == []