From fa2063efe43109aea093d6fbfc12d675dba82146 Mon Sep 17 00:00:00 2001 From: Julien Menth Date: Wed, 4 Apr 2018 13:28:36 +0200 Subject: [PATCH] [BroserKit] Enable passthrew header information on submit This enables browser Testingtools like mink to pass headerfiles while doing a form submmit --- src/Symfony/Component/BrowserKit/Client.php | 4 ++-- .../Component/BrowserKit/Tests/ClientTest.php | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) 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(); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy