File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -222,7 +222,7 @@ protected function _url() {
222
222
$ uri = substr ($ uri , strlen ($ base ));
223
223
}
224
224
if (strpos ($ uri , '? ' ) !== false ) {
225
- $ uri = parse_url ( $ uri , PHP_URL_PATH );
225
+ list ( $ uri) = explode ( ' ? ' , $ uri , 2 );
226
226
}
227
227
if (empty ($ uri ) || $ uri == '/ ' || $ uri == '// ' ) {
228
228
return '/ ' ;
Original file line number Diff line number Diff line change @@ -104,11 +104,26 @@ public function testQueryStringParsingFromInputUrl() {
104
104
$ _GET = array ();
105
105
$ request = new CakeRequest ('some/path?one=something&two=else ' );
106
106
$ expected = array ('one ' => 'something ' , 'two ' => 'else ' );
107
- $ this ->assertEquals ($ request ->query , $ expected );
107
+ $ this ->assertEquals ($ expected , $ request ->query );
108
108
$ this ->assertEquals ('some/path?one=something&two=else ' , $ request ->url );
109
109
110
110
}
111
111
112
+ /**
113
+ * Test that named arguments + querystrings are handled correctly.
114
+ *
115
+ * @return void
116
+ */
117
+ public function testQueryStringAndNamedParams () {
118
+ $ _SERVER ['REQUEST_URI ' ] = '/tasks/index/page:1?ts=123456 ' ;
119
+ $ request = new CakeRequest ();
120
+ $ this ->assertEquals ('tasks/index/page:1 ' , $ request ->url );
121
+
122
+ $ _SERVER ['REQUEST_URI ' ] = '/tasks/index/page:1/?ts=123456 ' ;
123
+ $ request = new CakeRequest ();
124
+ $ this ->assertEquals ('tasks/index/page:1/ ' , $ request ->url );
125
+ }
126
+
112
127
/**
113
128
* test addParams() method
114
129
*
@@ -1623,6 +1638,7 @@ public function testInputDecodeExtraParams() {
1623
1638
);
1624
1639
}
1625
1640
1641
+
1626
1642
/**
1627
1643
* loadEnvironment method
1628
1644
*
You can’t perform that action at this time.
0 commit comments