From 15a460706123fb31833752a59c9298c1bd5f784a Mon Sep 17 00:00:00 2001 From: Mark Story Date: Sun, 25 Apr 2010 21:56:54 -0700 Subject: [PATCH] Fixing some issues with parameter handling. Adding test cases. --- cake/libs/cake_request.php | 8 ++++++-- cake/tests/cases/libs/cake_request.test.php | 19 ++++++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/cake/libs/cake_request.php b/cake/libs/cake_request.php index 7f62d7737db..f4a0a1efeca 100644 --- a/cake/libs/cake_request.php +++ b/cake/libs/cake_request.php @@ -79,6 +79,10 @@ protected function _processPost() { } unset($this->params['form']['_method']); } + if (isset($this->params['form']['data'])) { + $this->data = $this->params['form']['data']; + unset($this->params['form']['data']); + } } /** @@ -93,9 +97,9 @@ protected function _processGet() { $url = $_GET; } if (isset($this->params['url'])) { - $this->params['url'] = array_merge($this->params['url'], $url); + $this->url = array_merge($this->url, $url); } else { - $this->params['url'] = $url; + $this->url = $url; } } diff --git a/cake/tests/cases/libs/cake_request.test.php b/cake/tests/cases/libs/cake_request.test.php index 3c8b18c063b..2211b665ec0 100644 --- a/cake/tests/cases/libs/cake_request.test.php +++ b/cake/tests/cases/libs/cake_request.test.php @@ -38,6 +38,23 @@ function testConstructionGetParsing() { 'two' => 'banana' ); $request = new CakeRequest(); - $this->assertEqual($request->params['url'], $_GET); + $this->assertEqual($request->url, $_GET); + } + +/** + * test parsing POST data into the object. + * + * @return void + */ + function testPostParsing() { + $_POST = array('data' => array( + 'Article' => array('title') + )); + $request = new CakeRequest(); + $this->assertEqual($request->data, $_POST['data']); + + $_POST = array('one' => 1, 'two' => 'three'); + $request = new CakeRequest(); + $this->assertEqual($request->params['form'], $_POST); } } \ No newline at end of file