/**
* Tests that routes with Unicode characters are correctly parsed.
*/
public function testUnicodeParameters()
{
$route = new Route(array('template' => '/{:slug:[\\pL\\pN\\-\\%]+}', 'params' => array('controller' => 'users', 'action' => 'view')));
$unicode = 'clément';
$slug = rawurlencode($unicode);
$params = array('controller' => 'users', 'action' => 'view') + compact('slug');
$result = $route->match($params);
$this->assertEqual("/{$slug}", $result);
$request = new Request(array('url' => "/{$slug}"));
$result = $route->parse($request, array('url' => $request->url));
$expected = array('controller' => 'users', 'action' => 'view') + compact('slug');
$this->assertEqual($expected, $result->params);
$request = new Request(array('url' => "/{$slug}"));
$result = $route->parse($request, array('url' => $request->url));
$expected = array('controller' => 'users', 'action' => 'view') + compact('slug');
$this->assertEqual($expected, $result->params);
}