public function testParse_custom() { $parser = new \r8\QueryParser(); $parser->setStartDelim('('); $parser->setEndDelim(')'); $parser->setOuterDelim('/'); $parser->setInnerDelim(':'); $parser->setSubRegEx('/\\.([^\\.]*)/'); $this->assertSame(array("key" => "value", "key2" => array('sub' => array('sub2' => "value3"))), $parser->parse("url.com(key:value/key2.sub.sub2:value3)fragment")); $this->assertSame(array("key" => "value", "key2" => array('sub' => array('sub2' => "value3"))), $parser->parse("key:value/key2.sub.sub2:value3")); $this->assertSame(array("key" => "value", "key2" => "value3", "k3" => "other"), $parser->parse("key:value/key2:value3/k3:other")); $this->assertSame(array("key" => array("value", "value2", "value3")), $parser->parse("key.:value/key.:value2/key.:value3")); }