Phalcon\Test\Unit\Cli\RouterTest::testConverters PHP Method

testConverters() public method

public testConverters ( )
    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))])]);
    }