From bd65032899c83cd656b37732e8aa3d671d51c339 Mon Sep 17 00:00:00 2001 From: Andrey Kutejko Date: Thu, 8 Jan 2015 20:34:51 +0200 Subject: [PATCH] fix tests --- t/ProjectTest.php | 44 ++++++++++++++++++++++++++++ t/project/htdocs/index.php | 11 +++---- t/project/project/settings.php | 52 ++++++++++++++++++---------------- t/project/tmp/.gitkeep | 0 4 files changed, 75 insertions(+), 32 deletions(-) create mode 100644 t/ProjectTest.php delete mode 100644 t/project/tmp/.gitkeep diff --git a/t/ProjectTest.php b/t/ProjectTest.php new file mode 100644 index 0000000..caf484a --- /dev/null +++ b/t/ProjectTest.php @@ -0,0 +1,44 @@ +appList(); + $this->assertEquals(array('IPF_Session', 'IPF_Auth', 'IPF_Admin'), array_keys($apps)); + } + + public function testMiddlewares() + { + $middlewares = array(); + $middleware = $this->callMethod(IPF_Project::getInstance(), 'chainMiddlewares'); + while ($middleware != null) { + $middlewares[] = $middleware; + $middleware = $this->getProperty($middleware, 'next'); + } + + $this->assertEquals(array( + 'IPF_Error_Middleware', + 'IPF_Middleware_Common', + 'IPF_Session_Middleware', + 'IPF_Dispatch_Middleware', + ), array_map('get_class', $middlewares)); + } + + protected function getProperty($obj, $property) + { + $cls = new ReflectionClass($obj); + $property = $cls->getProperty($property); + $property->setAccessible(true); + return $property->getValue($obj); + } + + protected function callMethod($obj, $method, $args=array()) + { + $cls = new ReflectionClass($obj); + $method = $cls->getMethod($method); + $method->setAccessible(true); + return $method->invokeArgs($obj, $args); + } +} + diff --git a/t/project/htdocs/index.php b/t/project/htdocs/index.php index 949824f..c74b8de 100644 --- a/t/project/htdocs/index.php +++ b/t/project/htdocs/index.php @@ -1,9 +1,6 @@ run(); - +$project_root = $here . '/..'; +require_once $project_root . '/../../vendor/autoload.php'; +IPF::configure($project_root, $here); +IPF_Project::getInstance(); diff --git a/t/project/project/settings.php b/t/project/project/settings.php index 786ab4f..7b0a618 100644 --- a/t/project/project/settings.php +++ b/t/project/project/settings.php @@ -1,28 +1,30 @@ array( + 'driver' => 'mysql', + 'host' => 'localhost', + 'database' => 'fake', + 'username' => 'fake', + 'password' => 'fake', + ), + + 'secret_key' => '123456', + + 'debug' => true, + + 'applications' => array( + 'IPF_Session', + 'IPF_Auth', + 'IPF_Admin', + ), + + 'middlewares' => array( + 'IPF_Middleware_Common', + 'IPF_Session_Middleware', + ), + + 'urls' => array( + array('expr' => '/robots.txt', 'func' => 'no_function_given'), + ), ); -$set['urls'] = array(); - -return $set; - diff --git a/t/project/tmp/.gitkeep b/t/project/tmp/.gitkeep deleted file mode 100644 index e69de29..0000000 -- 2.49.0