[limb-svn] r7021 - in 3.x/trunk/limb/net: src tests/cases

svn at limb-project.com svn at limb-project.com
Fri May 16 17:11:56 MSD 2008


Author: hidrarg
Date: 2008-05-16 17:11:56 +0400 (Fri, 16 May 2008)
New Revision: 7021
URL: http://fisheye.limb-project.com/changelog/limb/?cs=7021

Modified:
   3.x/trunk/limb/net/src/lmbHttpRequest.class.php
   3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php
Log:
-- function toString() return valid url, if field object contains non-alphanumeric characters

Modified: 3.x/trunk/limb/net/src/lmbHttpRequest.class.php
===================================================================
--- 3.x/trunk/limb/net/src/lmbHttpRequest.class.php	2008-05-16 13:06:40 UTC (rev 7020)
+++ 3.x/trunk/limb/net/src/lmbHttpRequest.class.php	2008-05-16 13:11:56 UTC (rev 7021)
@@ -19,6 +19,13 @@
  */
 class lmbHttpRequest extends lmbSet
 {
+
+  const get = 'get';
+  const uri = 'uri';
+  const post = 'post';
+  const cookies = 'cookies';
+  const files = 'files';
+
   protected $uri;
   protected $request = array();
   protected $get = array();
@@ -211,7 +218,7 @@
     {
       if(is_object($value))
         continue;
-      $query .= $key . '=' . $value . '&';
+      $query .= $key . '=' . urlencode($value) . '&';
     }
 
     $uri = clone($this->uri);

Modified: 3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php
===================================================================
--- 3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php	2008-05-16 13:06:40 UTC (rev 7020)
+++ 3.x/trunk/limb/net/tests/cases/lmbHttpRequestTest.class.php	2008-05-16 13:11:56 UTC (rev 7021)
@@ -210,6 +210,22 @@
 
     $this->assertEqual($request->get('a'), 1);
   }
+
+  function testToString_ValidForConstruct_LmbHttpRequest_IfAttributeNoValidStringURL()
+  {
+    $request = new lmbHttpRequest('http://test.com?z=1',
+                                array('b' => array('c' => '&m=7')),
+                                array('d' => '?&n=9#top'));
+    $request = new lmbHttpRequest($request->toString());
+
+    $this->assertEqual($request->get('z'), 1);
+    $this->assertEqual($request->get('b'), array('c' => '&m=7'));
+    $this->assertEqual($request->get('d'), '?&n=9#top');
+    $this->assertEqual($request->getUri()->getAnchor(), '');
+
+    $this->assertNull($request->get('m'));
+    $this->assertNull($request->get('n'));
+  }
 }
 
 



More information about the limb-svn mailing list