/** * @dataProvider routeProvider * @param Regex $route * @param string $path * @param integer $offset * @param array $params */ public function testMatching(Regex $route, $path, $offset, array $params = null) { $request = new Request(); $request->setUri('http://example.com' . $path); $match = $route->match($request, $offset); if ($params === null) { $this->assertNull($match); } else { $this->assertInstanceOf('Zend\\Mvc\\Router\\Http\\RouteMatch', $match); if ($offset === null) { $this->assertEquals(strlen($path), $match->getLength()); } foreach ($params as $key => $value) { $this->assertEquals($value, $match->getParam($key)); } } }
public function testNoMatchWithoutUriMethod() { $route = new Regex('/foo', '/foo'); $request = new BaseRequest(); $this->assertNull($route->match($request)); }
public function testEncodedDecode() { // every character $in = '%61%62%63%64%65%66%67%68%69%6a%6b%6c%6d%6e%6f%70%71%72%73%74%75%76%77%78%79%7a%41%42%43%44%45%46%47%48%49%4a%4b%4c%4d%4e%4f%50%51%52%53%54%55%56%57%58%59%5a%30%31%32%33%34%35%36%37%38%39%60%2d%3d%5b%5d%5c%3b%27%2c%2e%2f%7e%21%40%23%24%25%5e%26%2a%28%29%5f%2b%7b%7d%7c%3a%22%3c%3e%3f'; $out = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`-=[]\\;\',./~!@#$%^&*()_+{}|:"<>?'; $request = new Request(); $request->setUri('http://example.com/' . $in); $route = new Regex('/(?<foo>[^/]+)', '/%foo%'); $match = $route->match($request); $this->assertSame($out, $match->getParam('foo')); }