diff --git a/tests/test_http_request.py b/tests/test_http_request.py index 02111f075..b87045325 100644 --- a/tests/test_http_request.py +++ b/tests/test_http_request.py @@ -733,6 +733,40 @@ class FormRequestTest(RequestTest): self.assertRaises(ValueError, self.request_class.from_response, response, formxpath="//form/input[@name='abc']") + def test_from_response_button_submit(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'submit1']) + + def test_from_response_button_notype(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'submit1']) + def _buildresponse(body, **kwargs): kwargs.setdefault('body', body) kwargs.setdefault('url', 'http://example.com')