public function testConverters()
{
$this->specify("CLI Router doesn't work with converters", function ($route, $paths) {
Route::reset();
$router = new Router();
$router->add('{task:[a-z\\-]+} {action:[a-z\\-]+} this-is-a-country')->convert('task', function ($task) {
return str_replace('-', '', $task);
})->convert('action', function ($action) {
return str_replace('-', '', $action);
});
$router->add('([A-Z]+) ([0-9]+)', array('task' => 1, 'action' => 'default', 'id' => 2))->convert('task', function ($task) {
return strtolower($task);
})->convert('action', function ($action) {
if ($action == 'default') {
return 'index';
}
return $action;
})->convert('id', function ($id) {
return strrev($id);
});
$router->handle($route);
expect($router->wasMatched())->true();
expect($paths['task'])->equals($router->getTaskName());
expect($paths['action'])->equals($router->getActionName());
}, ["examples" => array(["route" => 'some-controller my-action-name this-is-a-country', "paths" => array('task' => 'somecontroller', 'action' => 'myactionname', 'params' => array('this-is-a-country'))], ["route" => 'BINARY 1101', "paths" => array('task' => 'binary', 'action' => 'index', 'params' => array(1011))])]);
}