diff --git a/tests/test_http_request.py b/tests/test_http_request.py index c81eebfa6..89102016b 100644 --- a/tests/test_http_request.py +++ b/tests/test_http_request.py @@ -532,6 +532,60 @@ class FormRequestTest(RequestTest): self.assertRaises(IndexError, self.request_class.from_response, \ response, formname="form3", formnumber=2) + def test_from_response_formid_exists(self): + response = _buildresponse( + """
+ """) + r1 = self.request_class.from_response(response, formid="form2") + self.assertEqual(r1.method, 'POST') + fs = _qs(r1) + self.assertEqual(fs, {'four': ['4'], 'three': ['3']}) + + def test_from_response_formid_notexists_fallback_formname(self): + response = _buildresponse( + """ + """) + r1 = self.request_class.from_response(response, formid="form3", formname="form2") + self.assertEqual(r1.method, 'POST') + fs = _qs(r1) + self.assertEqual(fs, {'four': ['4'], 'three': ['3']}) + + def test_from_response_formid_notexist(self): + response = _buildresponse( + """ + """) + r1 = self.request_class.from_response(response, formid="form3") + self.assertEqual(r1.method, 'POST') + fs = _qs(r1) + self.assertEqual(fs, {'one': ['1']}) + + def test_from_response_formid_errors_formnumber(self): + response = _buildresponse( + """ + """) + self.assertRaises(IndexError, self.request_class.from_response, \ + response, formid="form3", formnumber=2) + def test_from_response_select(self): res = _buildresponse( '''