mirror of
https://github.com/codeigniter4/CodeIgniter4.git
synced 2025-02-20 11:44:28 +08:00
Basic tests of the Routers AutoRoute method.
This commit is contained in:
parent
2117c025bb
commit
38cd598690
@ -241,7 +241,7 @@ class Router implements RouterInterface
|
|||||||
|
|
||||||
$segments = $this->validateRequest($segments);
|
$segments = $this->validateRequest($segments);
|
||||||
|
|
||||||
// If we don't have aany segments left - try the default controller;
|
// If we don't have any segments left - try the default controller;
|
||||||
// WARNING: Directories get shifted out of tge segments array.
|
// WARNING: Directories get shifted out of tge segments array.
|
||||||
if (empty($segments))
|
if (empty($segments))
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
require_once '../../vendor/autoload.php';
|
||||||
|
|
||||||
use CodeIgniter\Router\Router;
|
use CodeIgniter\Router\Router;
|
||||||
|
use org\bovigo\vfs\vfsStream;
|
||||||
|
|
||||||
|
|
||||||
class RouterTest extends PHPUnit_Framework_TestCase
|
class RouterTest extends PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
@ -10,6 +14,12 @@ class RouterTest extends PHPUnit_Framework_TestCase
|
|||||||
*/
|
*/
|
||||||
protected $collection;
|
protected $collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vfsStream root directory
|
||||||
|
* @var
|
||||||
|
*/
|
||||||
|
protected $root;
|
||||||
|
|
||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
$this->collection = new \CodeIgniter\Router\RouteCollection();
|
$this->collection = new \CodeIgniter\Router\RouteCollection();
|
||||||
@ -25,6 +35,8 @@ class RouterTest extends PHPUnit_Framework_TestCase
|
|||||||
];
|
];
|
||||||
|
|
||||||
$this->collection->map($routes);
|
$this->collection->map($routes);
|
||||||
|
|
||||||
|
$this->root = vfsStream::setup(APPPATH.'controllers');
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
@ -134,4 +146,44 @@ class RouterTest extends PHPUnit_Framework_TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
public function testAutoRouteFindsControllerWithFileAndMethod()
|
||||||
|
{
|
||||||
|
$router = new Router($this->collection);
|
||||||
|
|
||||||
|
$router->autoRoute('myController/someMethod');
|
||||||
|
|
||||||
|
$this->assertEquals('MyController', $router->controllerName());
|
||||||
|
$this->assertEquals('someMethod', $router->methodName());
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
public function testAutoRouteFindsControllerWithFile()
|
||||||
|
{
|
||||||
|
$router = new Router($this->collection);
|
||||||
|
|
||||||
|
$router->autoRoute('myController');
|
||||||
|
|
||||||
|
$this->assertEquals('MyController', $router->controllerName());
|
||||||
|
$this->assertEquals('index', $router->methodName());
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
public function testAutoRouteFindsControllerWithSubfolder()
|
||||||
|
{
|
||||||
|
$router = new Router($this->collection);
|
||||||
|
|
||||||
|
mkdir(APPPATH.'controllers/subfolder');
|
||||||
|
|
||||||
|
$router->autoRoute('subfolder/myController/someMethod');
|
||||||
|
|
||||||
|
rmdir(APPPATH.'controllers/subfolder');
|
||||||
|
|
||||||
|
$this->assertEquals('MyController', $router->controllerName());
|
||||||
|
$this->assertEquals('someMethod', $router->methodName());
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user