]> git.andy128k.dev Git - ipf.git/commitdiff
fix tests
authorAndrey Kutejko <andy128k@gmail.com>
Thu, 8 Jan 2015 18:34:51 +0000 (20:34 +0200)
committerAndrey Kutejko <andy128k@gmail.com>
Sat, 10 Jan 2015 22:51:34 +0000 (00:51 +0200)
t/ProjectTest.php [new file with mode: 0644]
t/project/htdocs/index.php
t/project/project/settings.php
t/project/tmp/.gitkeep [deleted file]

diff --git a/t/ProjectTest.php b/t/ProjectTest.php
new file mode 100644 (file)
index 0000000..caf484a
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+
+class Project_Test extends PHPUnit_Framework_TestCase
+{
+    public function testApps()
+    {
+        $apps = IPF_Project::getInstance()->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);
+    }
+}
+
index 949824f35c7841aeb2eca349cdfa0760824d2494..c74b8def238152fa3aed90c5b77602089af7871e 100644 (file)
@@ -1,9 +1,6 @@
 <?php
-
 $here = dirname(__FILE__);
-$ipf_path     = $here . '/../../..';
-$project_path = $here . '/../project';
-
-require $ipf_path . '/ipf.php';
-return IPF::setUp($project_path, $here, $ipf_path . '/vendor'); // && IPF_Project::getInstance()->run();
-
+$project_root = $here . '/..';
+require_once $project_root . '/../../vendor/autoload.php';
+IPF::configure($project_root, $here);
+IPF_Project::getInstance();
index 786ab4fff010a5ca79107b12542569cdbee6558c..7b0a618a766deac0ef2da283f102b55f23dc5827 100644 (file)
@@ -1,28 +1,30 @@
 <?php
-
-$project_root = dirname(__FILE__).DIRECTORY_SEPARATOR.'..';
-
-$set = array();
-$set['dsn'] = 'mysql://fake:fake@localhost/fake';
-
-$set['tmp'] = $project_root . '/tmp';
-
-$set['secret_key'] = '123456';
-
-$set['debug'] = true;
-
-$set['applications'] = array(
-    'IPF_Session',
-    'IPF_Auth',
-    'IPF_Admin',
-);
-
-$set['middlewares'] = array(
-    'IPF_Middleware_Common',
-    'IPF_Session_Middleware',
+return array(
+    'database' => 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 (file)
index e69de29..0000000