diff --git a/src/Symfony/Component/BrowserKit/Client.php b/src/Symfony/Component/BrowserKit/Client.php index 2c16c858fc830..799b3579f0f69 100644 --- a/src/Symfony/Component/BrowserKit/Client.php +++ b/src/Symfony/Component/BrowserKit/Client.php @@ -289,11 +289,11 @@ public function click(Link $link) * * @return Crawler */ - public function submit(Form $form, array $values = array()) + public function submit(Form $form, array $values = array(), $serverParameters = array()) { $form->setValues($values); - return $this->request($form->getMethod(), $form->getUri(), $form->getPhpValues(), $form->getPhpFiles()); + return $this->request($form->getMethod(), $form->getUri(), $form->getPhpValues(), $form->getPhpFiles(), $serverParameters); } /** diff --git a/src/Symfony/Component/BrowserKit/Tests/ClientTest.php b/src/Symfony/Component/BrowserKit/Tests/ClientTest.php index 741b29b9c72a7..909bf3c67c245 100644 --- a/src/Symfony/Component/BrowserKit/Tests/ClientTest.php +++ b/src/Symfony/Component/BrowserKit/Tests/ClientTest.php @@ -367,6 +367,20 @@ public function testSubmitPreserveAuth() $this->assertEquals('bar', $server['PHP_AUTH_PW']); } + public function testSubmitPassthrewHeaders() + { + $client = new TestClient(); + $client->setNextResponse(new Response('
')); + $crawler = $client->request('GET', 'http://www.example.com/foo/foobar'); + $headers = array('Accept-Language' => 'de'); + + $client->submit($crawler->filter('input')->form(), array(), $headers); + + $server = $client->getRequest()->getServer(); + $this->assertArrayHasKey('Accept-Language', $server); + $this->assertEquals('de', $server['Accept-Language']); + } + public function testFollowRedirect() { $client = new TestClient();Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: