from webob import Request import webtest def input_app(environ, start_response): req = Request(environ) status = "200 OK" body =\ """ form page
""" headers = [ ('Content-Type', 'text/html'), ('Content-Length', str(len(body)))] start_response(status, headers) return [body] def input_app_without_default(environ, start_response): req = Request(environ) status = "200 OK" body =\ """ form page
""" headers = [ ('Content-Type', 'text/html'), ('Content-Length', str(len(body)))] start_response(status, headers) return [body] def test_input(): app = webtest.TestApp(input_app) res = app.get('/') assert res.status_int == 200 assert res.headers['content-type'] == 'text/html' assert res.content_type == 'text/html' form = res.forms['text_input_form'] assert form['foo'].value == 'bar' assert form.submit_fields() == [('foo', 'bar')] form = res.forms['radio_input_form'] assert form['foo'].value == 'baz' assert form.submit_fields() == [('foo', 'baz')] form = res.forms['checkbox_input_form'] assert form['foo'].value == 'bar' assert form.submit_fields() == [('foo', 'bar')] def test_input_no_default(): app = webtest.TestApp(input_app_without_default) res = app.get('/') assert res.status_int == 200 assert res.headers['content-type'] == 'text/html' assert res.content_type == 'text/html' form = res.forms['text_input_form'] assert form['foo'].value == '' assert form.submit_fields() == [('foo', '')] form = res.forms['radio_input_form'] assert form['foo'].value is None assert form.submit_fields() == [] form = res.forms['checkbox_input_form'] assert form['foo'].value is None assert form.submit_fields() == []