Browse Source

Router class tested

master
Anton Grebnev 13 years ago
parent
commit
cae2ae3128
  1. 64
      tests/app/router/RouterTest.php

64
tests/app/router/RouterTest.php

@ -0,0 +1,64 @@
<?php
/*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage UnitTests
* @since 2011-10-31
*
* Unit tests for Router class
*/
require_once dirname(__FILE__) . '/../../../classes/Env.class.php';
require_once dirname(__FILE__) . '/../../../app/router/Route.php';
require_once dirname(__FILE__) . '/../../../app/router/Router.php';
class RouterTest extends PHPUnit_Framework_TestCase
{
public function testGetRouteFirst()
{
$router = new Router();
$this->assertNull($router->getRoute());
$this->assertNull($router->getRouteName());
}
public function testRouterCycle()
{
$router = new Router();
$router->add('user', 'user/account/:id', 'user');
$route = $router->route('user/account/213');
$this->assertEquals(1, count($route->getParams()));
$this->assertEquals(array('id' => 213), $route->getParams());
$this->assertEquals('user', $router->getRouteName());
}
public function testRouterMultipleRoutes()
{
$router = new Router();
$router->add('user', 'user/account/:id', 'user');
$router->add('sale', 'sale/order/:id', 'user');
$route = $router->route('user/account/213');
$this->assertEquals('user', $router->getRouteName());
$this->assertEquals(1, count($route->getParams()));
$this->assertEquals(array('id' => 213), $route->getParams());
$route = $router->route('sale/order/22');
$this->assertEquals('sale', $router->getRouteName());
$this->assertEquals(array('id' => 22), $route->getParams());
}
public function testRouteNotmatch()
{
$router = new Router();
$router->add('user', 'user/account/:id', 'user');
$this->assertFalse($router->route('user/info/213'));
}
public function testSetDefaultLayout()
{
$router = new Router();
$router->setDefaultLayout('userLayout');
$this->assertAttributeEquals('userLayout', 'default_layout', $router);
}
}
Loading…
Cancel
Save