Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 965408f

Browse filesBrowse files
committed
Update getAbsoluteUri() for query string uris
Apply same rules to query string only URIs as what's being used for URIs containing only hash/anchor values
1 parent b7ed32a commit 965408f
Copy full SHA for 965408f

File tree

Expand file treeCollapse file tree

2 files changed

+12
-3
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+12
-3
lines changed

‎src/Symfony/Component/BrowserKit/Client.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/BrowserKit/Client.php
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -522,9 +522,9 @@ protected function getAbsoluteUri($uri)
522522
return parse_url($currentUri, PHP_URL_SCHEME).':'.$uri;
523523
}
524524

525-
// anchor?
526-
if (!$uri || '#' == $uri[0]) {
527-
return preg_replace('/#.*?$/', '', $currentUri).$uri;
525+
// anchor or query string parameters?
526+
if (!$uri || '#' == $uri[0] || '?' == $uri[0]) {
527+
return preg_replace('/[#?].*?$/', '', $currentUri).$uri;
528528
}
529529

530530
if ('/' !== $uri[0]) {

‎src/Symfony/Component/BrowserKit/Tests/ClientTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/BrowserKit/Tests/ClientTest.php
+9Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,15 @@ public function testRequestURIConversion()
212212
$client->request('GET', 'http://www.example.com/');
213213
$client->request('GET', 'http');
214214
$this->assertEquals('http://www.example.com/http', $client->getRequest()->getUri(), '->request() uses the previous request for relative URLs');
215+
216+
$client = new TestClient();
217+
$client->request('GET', 'http://www.example.com/foo');
218+
$client->request('GET', '?');
219+
$this->assertEquals('http://www.example.com/foo?', $client->getRequest()->getUri(), '->request() uses the previous request for ?');
220+
$client->request('GET', '?');
221+
$this->assertEquals('http://www.example.com/foo?', $client->getRequest()->getUri(), '->request() uses the previous request for ?');
222+
$client->request('GET', '?foo=bar');
223+
$this->assertEquals('http://www.example.com/foo?foo=bar', $client->getRequest()->getUri(), '->request() uses the previous request for ?');
215224
}
216225

217226
public function testRequestReferer()

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.