Add tests with incomplete buttons

This commit is contained in:
Olaf Dietsche 2015-07-12 13:28:06 +02:00
parent b876755f1c
commit 2c28b53cc0
1 changed files with 34 additions and 0 deletions

View File

@ -767,6 +767,40 @@ class FormRequestTest(RequestTest):
self.assertEqual(fs[b'test2'], [b'val2'])
self.assertEqual(fs[b'button1'], [b'submit1'])
def test_from_response_submit_novalue(self):
response = _buildresponse(
"""<form action="post.php" method="POST">
<input type="hidden" name="test1" value="val1">
<input type="hidden" name="test2" value="val2">
<input type="submit" name="button1">Submit</button>
</form>""",
url="http://www.example.com/this/list.html")
req = self.request_class.from_response(response)
self.assertEqual(req.method, 'POST')
self.assertEqual(req.headers['Content-type'], b'application/x-www-form-urlencoded')
self.assertEqual(req.url, "http://www.example.com/this/post.php")
fs = _qs(req)
self.assertEqual(fs[b'test1'], [b'val1'])
self.assertEqual(fs[b'test2'], [b'val2'])
self.assertEqual(fs[b'button1'], [b''])
def test_from_response_button_novalue(self):
response = _buildresponse(
"""<form action="post.php" method="POST">
<input type="hidden" name="test1" value="val1">
<input type="hidden" name="test2" value="val2">
<button type="submit" name="button1">Submit</button>
</form>""",
url="http://www.example.com/this/list.html")
req = self.request_class.from_response(response)
self.assertEqual(req.method, 'POST')
self.assertEqual(req.headers['Content-type'], b'application/x-www-form-urlencoded')
self.assertEqual(req.url, "http://www.example.com/this/post.php")
fs = _qs(req)
self.assertEqual(fs[b'test1'], [b'val1'])
self.assertEqual(fs[b'test2'], [b'val2'])
self.assertEqual(fs[b'button1'], [b''])
def _buildresponse(body, **kwargs):
kwargs.setdefault('body', body)
kwargs.setdefault('url', 'http://example.com')