lithium\tests\cases\net\http\RouterTest::testReversingContinuations PHP Method

testReversingContinuations() public method

Tests that URLs are properly generated with route continuations.
    public function testReversingContinuations()
    {
        Router::connect('/{:locale:en|de|it|jp}/{:args}', array(), array('continue' => true));
        Router::connect('/{:controller}/{:action}/{:id:[0-9]+}');
        Router::connect('/{:controller}/{:action}/{:args}');
        $result = Router::match(array('Posts::view', 'id' => 5, 'locale' => 'de'));
        $this->assertEqual($result, '/de/posts/view/5');
        $result = Router::match(array('Posts::index', 'locale' => 'en', '?' => array('page' => 2)));
        $this->assertIdentical('/en/posts?page=2', $result);
        Router::reset();
        Router::connect('/{:locale:en|de|it|jp}/{:args}', array(), array('continue' => true));
        Router::connect('/pages/{:args}', 'Pages::view');
        $result = Router::match(array('Pages::view', 'locale' => 'en', 'args' => array('about')));
        $this->assertIdentical('/en/pages/about', $result);
        Router::reset();
        Router::connect('/admin/{:args}', array('admin' => true), array('continue' => true));
        Router::connect('/login', 'Users::login');
        $result = Router::match(array('Users::login', 'admin' => true));
        $this->assertIdentical('/admin/login', $result);
    }
RouterTest