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);
|
||||
|
||||
// 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.
|
||||
if (empty($segments))
|
||||
{
|
||||
|
@ -1,6 +1,10 @@
|
||||
<?php
|
||||
|
||||
require_once '../../vendor/autoload.php';
|
||||
|
||||
use CodeIgniter\Router\Router;
|
||||
use org\bovigo\vfs\vfsStream;
|
||||
|
||||
|
||||
class RouterTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
@ -10,6 +14,12 @@ class RouterTest extends PHPUnit_Framework_TestCase
|
||||
*/
|
||||
protected $collection;
|
||||
|
||||
/**
|
||||
* vfsStream root directory
|
||||
* @var
|
||||
*/
|
||||
protected $root;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
$this->collection = new \CodeIgniter\Router\RouteCollection();
|
||||
@ -25,6 +35,8 @@ class RouterTest extends PHPUnit_Framework_TestCase
|
||||
];
|
||||
|
||||
$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