[limb-svn] r7061 - in 3.x/trunk/limb/net: src tests/cases
svn at limb-project.com
svn at limb-project.com
Fri Jun 20 09:57:51 MSD 2008
Author: conf
Date: 2008-06-20 09:57:50 +0400 (Fri, 20 Jun 2008)
New Revision: 7061
URL: http://fisheye.limb-project.com/changelog/limb/?cs=7061
Modified:
3.x/trunk/limb/net/src/lmbHttpRequest.class.php
3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php
Log:
-- added feature to get params from request with default values if none present
-- added feature to get subarray of params from request, if smb of them is absent - return null.
Modified: 3.x/trunk/limb/net/src/lmbHttpRequest.class.php
===================================================================
--- 3.x/trunk/limb/net/src/lmbHttpRequest.class.php 2008-06-10 13:48:56 UTC (rev 7060)
+++ 3.x/trunk/limb/net/src/lmbHttpRequest.class.php 2008-06-20 05:57:50 UTC (rev 7061)
@@ -106,19 +106,19 @@
return $file;
}
- function getRequest($key = null)
+ function getRequest($key = null, $default = LIMB_UNDEFINED)
{
- return $this->_get('request', $key);
+ return $this->_get('request', $key, $default);
}
- function getGet($key = null)
+ function getGet($key = null, $default = LIMB_UNDEFINED)
{
- return $this->_get('get', $key);
+ return $this->_get('get', $key, $default);
}
- function getPost($key = null)
+ function getPost($key = null, $default = LIMB_UNDEFINED)
{
- return $this->_get('post', $key);
+ return $this->_get('post', $key, $default);
}
function hasPost()
@@ -135,9 +135,9 @@
$this->pretend_post = $flag;
}
- function getCookie($key = null)
+ function getCookie($key = null, $default = LIMB_UNDEFINED)
{
- return $this->_get('cookies', $key);
+ return $this->_get('cookies', $key, $default);
}
function getSafe($var)
@@ -145,14 +145,23 @@
return htmlspecialchars(parent :: get($var));
}
- protected function _get($var, $key = null)
+ protected function _get($var, $key = null, $default = LIMB_UNDEFINED)
{
if(is_null($key))
return $this->$var;
$arr = $this->$var;
- if(isset($arr[$key]))
+ if (is_array($key)) {
+ $ret = array();
+ foreach($key as $item) {
+ $ret[$item] = (isset($arr[$item])?$arr[$item]:null);
+ }
+ return $ret;
+ } elseif(isset($arr[$key])) {
return $arr[$key];
+ } elseif ($default != LIMB_UNDEFINED) {
+ return $default;
+ }
}
function getUri()
Modified: 3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php
===================================================================
--- 3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php 2008-06-10 13:48:56 UTC (rev 7060)
+++ 3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php 2008-06-20 05:57:50 UTC (rev 7061)
@@ -49,30 +49,51 @@
$this->assertEqual($request->getRequest(), array('c' => 1, 'd' => 2));
$this->assertEqual($request->getRequest('c'), 1);
$this->assertNull($request->getRequest('b'), 1);
+
+ $this->assertEqual($request->getRequest('b', 1), 1); // test for default values
+ $this->assertEqual($request->getRequest(array('b', 'c', 'd')), array('b' => null, 'c' => 1, 'd' => 2));
}
function testGetGet()
{
- $request = new lmbHttpRequest('http://test.com', array('c' => 1));
- $this->assertEqual($request->getGet(), array('c' => 1));
+ $get = array('c' => 1, 'ju' => 'jitsu', 'kung' => 'fu');
+ $request = new lmbHttpRequest('http://test.com', $get);
+ $this->assertEqual($request->getGet(), $get);
$this->assertEqual($request->getGet('c'), 1);
$this->assertNull($request->getGet('b'), 1);
+
+ $this->assertEqual($request->getGet('sambo', 'cool'), 'cool'); // test for default values
+ $field_names = array('ju', 'kung', 'sambo');
+
+ $this->assertEqual($request->getGet($field_names), array('ju' => 'jitsu', 'kung' => 'fu', 'sambo' => null));
}
function testGetPost()
{
- $request = new lmbHttpRequest('http://test.com', array(), array('c' => 1));
- $this->assertEqual($request->getPost(), array('c' => 1));
+ $post = array('c' => 1, 'ju' => 'jitsu', 'kung' => 'fu');
+ $request = new lmbHttpRequest('http://test.com', array(), $post);
+ $this->assertEqual($request->getPost(), $post);
$this->assertEqual($request->getPost('c'), 1);
$this->assertNull($request->getPost('b'), 1);
+
+ $this->assertEqual($request->getPost('sambo', 'cool'), 'cool'); // test for default values
+ $field_names = array('ju', 'kung', 'sambo');
+
+ $this->assertEqual($request->getPost($field_names), array('ju' => 'jitsu', 'kung' => 'fu', 'sambo' => null));
}
function testGetCookie()
{
- $request = new lmbHttpRequest('http://test.com', array(), array(), array('c' => 1));
- $this->assertEqual($request->getCookie(), array('c' => 1));
+ $cookie = array('c' => 1, 'ju' => 'jitsu', 'kung' => 'fu');
+ $request = new lmbHttpRequest('http://test.com', array(), array(), $cookie);
+ $this->assertEqual($request->getCookie(), $cookie);
$this->assertEqual($request->getCookie('c'), 1);
$this->assertNull($request->getCookie('b'), 1);
+
+ $this->assertEqual($request->getCookie('sambo', 'cool'), 'cool'); // test for default values
+ $field_names = array('ju', 'kung', 'sambo');
+
+ $this->assertEqual($request->getCookie($field_names), array('ju' => 'jitsu', 'kung' => 'fu', 'sambo' => null));
}
function testGetFiles()
More information about the limb-svn
mailing list