lithium\tests\cases\net\http\RouteTest::testRouteParsingWithOptionalParams PHP Метод

testRouteParsingWithOptionalParams() публичный Метод

    public function testRouteParsingWithOptionalParams()
    {
        $route = new Route(array('template' => '/{:controller}/{:action}/{:id}', 'params' => array('id' => null)));
        $request = new Request();
        $request->url = '/posts';
        $result = $route->parse($request);
        $expected = array('controller' => 'posts', 'action' => 'index', 'id' => null);
        $this->assertEqual($expected, $result->params);
        $request->url = '/posts/index';
        $result = $route->parse($request);
        $this->assertEqual($expected, $result->params);
        $request->url = '/posts/index/';
        $result = $route->parse($request);
        $this->assertEqual($expected, $result->params);
        $request->url = '/posts/view/0';
        $result = $route->parse($request);
        $expected = array('controller' => 'posts', 'action' => 'view', 'id' => '0');
        $this->assertEqual($expected, $result->params);
        $request->url = '/posts/view/5';
        $result = $route->parse($request);
        $expected = array('controller' => 'posts', 'action' => 'view', 'id' => '5');
        $this->assertEqual($expected, $result->params);
        $request->url = '/';
        $this->assertFalse($route->parse($request));
        $request->url = '/posts/view/5/foo';
        $this->assertFalse($route->parse($request));
    }