Skip to content

Commit 8a3624e

Browse files
committed
fixed Client implementation to return the right Response (closes #4475)
1 parent a7ffc01 commit 8a3624e

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

Client.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use Symfony\Component\HttpFoundation\File\UploadedFile;
1515
use Symfony\Component\HttpFoundation\Request;
16+
use Symfony\Component\HttpFoundation\Response;
1617
use Symfony\Component\BrowserKit\Client as BaseClient;
1718
use Symfony\Component\BrowserKit\Request as DomRequest;
1819
use Symfony\Component\BrowserKit\Response as DomResponse;
@@ -49,6 +50,26 @@ public function __construct(HttpKernelInterface $kernel, array $server = array()
4950
$this->followRedirects = false;
5051
}
5152

53+
/**
54+
* {@inheritdoc}
55+
*
56+
* @return Request A Request instance
57+
*/
58+
public function getOriginRequest()
59+
{
60+
return parent::getOriginRequest();
61+
}
62+
63+
/**
64+
* {@inheritdoc}
65+
*
66+
* @return Response A Response instance
67+
*/
68+
public function getOriginResponse()
69+
{
70+
return parent::getOriginResponse();
71+
}
72+
5273
/**
5374
* Makes a request.
5475
*

Tests/ClientTest.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,17 @@ public function testDoRequest()
3535

3636
$client->request('GET', '/');
3737
$this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request');
38+
$this->assertInstanceOf('Symfony\Component\BrowserKit\Request', $client->getRequest());
39+
$this->assertInstanceOf('Symfony\Component\HttpFoundation\Request', $client->getOriginRequest());
40+
$this->assertInstanceOf('Symfony\Component\BrowserKit\Response', $client->getResponse());
41+
$this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $client->getOriginResponse());
3842

3943
$client->request('GET', 'http://www.example.com/');
4044
$this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request');
41-
$this->assertEquals('www.example.com', $client->getRequest()->getHost(), '->doRequest() uses the request handler to make the request');
45+
$this->assertEquals('www.example.com', $client->getOriginRequest()->getHost(), '->doRequest() uses the request handler to make the request');
4246

4347
$client->request('GET', 'http://www.example.com/?parameter=http://google.com');
44-
$this->assertEquals('http://www.example.com/?parameter='.urlencode('http://google.com'), $client->getRequest()->getUri(), '->doRequest() uses the request handler to make the request');
48+
$this->assertEquals('http://www.example.com/?parameter='.urlencode('http://google.com'), $client->getOriginRequest()->getUri(), '->doRequest() uses the request handler to make the request');
4549
}
4650

4751
public function testGetScript()
@@ -120,7 +124,7 @@ public function testUploadedFile()
120124
foreach ($files as $file) {
121125
$client->request('POST', '/', array(), array('foo' => $file));
122126

123-
$files = $client->getRequest()->files->all();
127+
$files = $client->getOriginRequest()->files->all();
124128

125129
$this->assertCount(1, $files);
126130

@@ -159,7 +163,7 @@ public function testUploadedFileWhenSizeExceedsUploadMaxFileSize()
159163

160164
$client->request('POST', '/', array(), array($file));
161165

162-
$files = $client->getRequest()->files->all();
166+
$files = $client->getOriginRequest()->files->all();
163167

164168
$this->assertCount(1, $files);
165169

0 commit comments

Comments
 (0)