X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=phpunit%2FParamsTest.php;h=71bfcf45dec635bd5d94c4bd705268e6b4990e13;hb=87702149e0c422104aec0ddb7391f91392be0376;hp=5647a199ad2a96f78a57dcc89bfc9a959c3e6610;hpb=846f90e308c5392215cdb4ef87f9751235e40f40;p=m6w6%2Fext-http diff --git a/phpunit/ParamsTest.php b/phpunit/ParamsTest.php index 5647a19..71bfcf4 100644 --- a/phpunit/ParamsTest.php +++ b/phpunit/ParamsTest.php @@ -47,9 +47,58 @@ class ParamsTest extends PHPUnit_Framework_TestCase { ), $p->params ); - $this->assertEquals("form-data;name=upload;filename=\"trick\\\"\0\\\"ed\"", (string) $p); + $this->assertEquals("form-data;name=upload;filename=\"trick\\\"\\0\\\"ed\"", (string) $p); } + function testUrlencoded() { + $s = "foo=b%22r&bar=b%22z&a%5B%5D%5B%5D=1"; + $p = new http\Params($s, "&", "", "=", http\Params::PARSE_URLENCODED); + $this->assertEquals( + array( + "foo" => array( + "value" => "b\"r", + "arguments" => array(), + ), + "bar" => array( + "value" => "b\"z", + "arguments" => array(), + ), + "a[][]" => array( + "value" => "1", + "arguments" => array(), + ), + ), + $p->params + ); + $this->assertEquals("foo=b%22r&bar=b%22z&a%5B%5D%5B%5D=1", (string) $p); + } + + function testQuery() { + $s = "foo=b%22r&bar=b%22z&a%5B%5D%5B%5D=1"; + $p = new http\Params($s, "&", "", "=", http\Params::PARSE_QUERY); + $this->assertEquals( + array( + "foo" => array( + "value" => "b\"r", + "arguments" => array(), + ), + "bar" => array( + "value" => "b\"z", + "arguments" => array(), + ), + "a" => array( + "value" => array( + array("1") + ), + "arguments" => array(), + ), + ), + $p->params + ); + $this->assertEquals("foo=b%22r&bar=b%22z&a%5B0%5D%5B0%5D=1", (string) $p); + } + + function testEmpty() { $p = new http\Params(NULL); $this->assertEquals(array(), $p->params);