X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=phpunit%2FParamsTest.php;h=71bfcf45dec635bd5d94c4bd705268e6b4990e13;hb=f753226f1f45e10ef3916256ec1bc0416c8644a8;hp=a06d72e3a71c7917af9fff93c7ea9ccedebcf684;hpb=40b8f999b7705c5474030aa67530a8b293f9ea8c;p=m6w6%2Fext-http diff --git a/phpunit/ParamsTest.php b/phpunit/ParamsTest.php index a06d72e..71bfcf4 100644 --- a/phpunit/ParamsTest.php +++ b/phpunit/ParamsTest.php @@ -50,6 +50,55 @@ class ParamsTest extends PHPUnit_Framework_TestCase { $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);