public function testRoutingMultipleMatch()
{
$route = new Route(array('template' => '/users/{:user}', 'pattern' => '@^/u(?:sers)?(?:/(?P<user>[^\\/]+))$@', 'params' => array('controller' => 'users', 'action' => 'index'), 'match' => array('controller' => 'users', 'action' => 'index'), 'defaults' => array('controller' => 'users'), 'keys' => array('user' => 'user'), 'compile' => false));
$result = $route->match(array('controller' => 'users', 'user' => 'alke'));
$expected = '/users/alke';
$this->assertEqual($expected, $result);
$request = new Request();
$request->url = '/users/alke';
$expected = array('controller' => 'users', 'action' => 'index', 'user' => 'alke');
$result = $route->parse($request);
$this->assertEqual($expected, $result->params);
$request->url = '/u/alke';
$result = $route->parse($request);
$this->assertEqual($expected, $result->params);
}