From 2ce9e93f067c27b0a957de5d34ed482a71c3253c Mon Sep 17 00:00:00 2001 From: Haralan Dobrev Date: Sat, 23 Jul 2016 13:55:15 +0300 Subject: [PATCH] Test query params are parsed correctly in both initial and subrequests --- tests/kohana/RequestTest.php | 38 +++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/tests/kohana/RequestTest.php b/tests/kohana/RequestTest.php index a5df3dba5..4555f3edd 100644 --- a/tests/kohana/RequestTest.php +++ b/tests/kohana/RequestTest.php @@ -620,7 +620,7 @@ public function provider_query_parameter_parsing() { return array( array( - new Request('foo/bar'), + 'foo/bar', array( 'foo' => 'bar', 'sna' => 'fu' @@ -631,7 +631,7 @@ public function provider_query_parameter_parsing() ), ), array( - new Request('foo/bar?john=wayne&peggy=sue'), + 'foo/bar?john=wayne&peggy=sue', array( 'foo' => 'bar', 'sna' => 'fu' @@ -644,7 +644,7 @@ public function provider_query_parameter_parsing() ), ), array( - new Request('http://host.tld/foo/bar?john=wayne&peggy=sue'), + 'http://host.tld/foo/bar?john=wayne&peggy=sue', array( 'foo' => 'bar', 'sna' => 'fu' @@ -664,13 +664,41 @@ public function provider_query_parameter_parsing() * * @dataProvider provider_query_parameter_parsing * - * @param Request request + * @param string url * @param array query * @param array expected * @return void */ - public function test_query_parameter_parsing(Request $request, $query, $expected) + public function test_query_parameter_parsing($url, $query, $expected) + { + Request::$initial = NULL; + + $request = new Request($url); + + foreach ($query as $key => $value) + { + $request->query($key, $value); + } + + $this->assertSame($expected, $request->query()); + } + + /** + * Tests that query parameters are parsed correctly + * + * @dataProvider provider_query_parameter_parsing + * + * @param string url + * @param array query + * @param array expected + * @return void + */ + public function test_query_parameter_parsing_in_subrequest($url, $query, $expected) { + Request::$initial = new Request(TRUE); + + $request = new Request($url); + foreach ($query as $key => $value) { $request->query($key, $value);