noHeaders = true; $parameters = 'oauth_token=abcdef&method=people.get&id=req¶ms.userId=@me¶ms.groupId=@self&field=1,2,3&fieldtwo(0).nested1=value1&fieldtwo(1).nested2.blub(0)=value2&fieldtwo(1).nested3=value3&f.a.c=foo&f.a.d=bar'; $result = $servlet->parseGetRequest($parameters); $expected = array( 'method' => 'people.get', 'id' => 'req', 'params' => array( 'userId' => '@me', 'groupId' => '@self', ), 'field' => array(1,2,3), 'fieldtwo' => array( 0 => array( 'nested1' => 'value1', ), 1 => array( 'nested2' => array( 'blub' => array( 0 => 'value2', ), ), 'nested3' => 'value3', ), ), 'f' => array( 'a' => array( 'c' => 'foo', 'd' => 'bar', ) ), 'oauth_token' => 'abcdef', ); $this->assertEquals($expected, $result); } public function testParseRPCGetWithEmptyParameters() { $servlet = new JsonRpcServlet(); $servlet->noHeaders = true; $result = $servlet->parseGetRequest(''); $this->assertEquals(array(), $result); } }