diff --git a/tests/test_http_request.py b/tests/test_http_request.py index b87045325..ff0941961 100644 --- a/tests/test_http_request.py +++ b/tests/test_http_request.py @@ -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( + """
+ + + Submit +
""", + 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( + """
+ + + +
""", + 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')