[limb-svn] r6016 - in 3.x/trunk/limb/tests_runner: . src tests tests/cases
svn at limb-project.com
svn at limb-project.com
Tue Jun 26 17:31:54 MSD 2007
Author: pachanga
Date: 2007-06-26 17:31:54 +0400 (Tue, 26 Jun 2007)
New Revision: 6016
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6016
Added:
3.x/trunk/limb/tests_runner/tests/cases/lmbTestRunnerTest.class.php
Modified:
3.x/trunk/limb/tests_runner/simpletest.inc.php
3.x/trunk/limb/tests_runner/src/lmbFile2TestNodeMapper.class.php
3.x/trunk/limb/tests_runner/src/lmbTestTree.class.php
3.x/trunk/limb/tests_runner/src/lmbTestTreeDirNode.class.php
3.x/trunk/limb/tests_runner/src/lmbTestTreeFileNode.class.php
3.x/trunk/limb/tests_runner/src/lmbTestTreeGlobNode.class.php
3.x/trunk/limb/tests_runner/src/lmbTestTreeNode.class.php
3.x/trunk/limb/tests_runner/src/lmbTestTreeTerminalNode.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbDetachedFixtureTest.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbFile2TestNodeMapperTest.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbTestGroupTest.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbTestShellUITest.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeDirNodeTest.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeFileNodeTest.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeGlobNodeTest.class.php
3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeTest.class.php
3.x/trunk/limb/tests_runner/tests/common.inc.php
Log:
-- preparing TESTS_RUNNER to major cleanup(to the end user everything will remain the same, however internals are going to be heavily refactored)
-- removing failing tests for TR-11 for now
-- .skip.php scripts renamed into .skipif.php
-- better SimpleTest library check in simpletest.inc.php using include_once, this allows to check relative paths
-- renaming all GroupTest into TestSuite
-- lmbTestTreeNode :: isSkipped() added, it returns false by default
-- lmbTestTreeDirNode :: _shouldSkipDir() renamed into isSkipped()
-- initial lmbTestRunnerTest added
-- misc tests refactorings
Modified: 3.x/trunk/limb/tests_runner/simpletest.inc.php
===================================================================
--- 3.x/trunk/limb/tests_runner/simpletest.inc.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/simpletest.inc.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -13,13 +13,12 @@
*/
@define('SIMPLE_TEST', dirname(__FILE__) . '/lib/simpletest/');
-if(!file_exists(SIMPLE_TEST . '/unit_tester.php'))
+if(!@include_once(SIMPLE_TEST . '/unit_tester.php'))
{
echo('SIMPLE_TEST constant doesn\'t point to SimpleTest installation directory(' . SIMPLE_TEST . ')');
exit(1);
}
-require_once(SIMPLE_TEST . '/unit_tester.php');
require_once(SIMPLE_TEST . '/mock_objects.php');
require_once(SIMPLE_TEST . '/reporter.php');
?>
\ No newline at end of file
Modified: 3.x/trunk/limb/tests_runner/src/lmbFile2TestNodeMapper.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/src/lmbFile2TestNodeMapper.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/src/lmbFile2TestNodeMapper.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -2,22 +2,20 @@
/*
* Limb PHP Framework
*
- * @link http://limb-project.com
+ * @link http://limb-project.com
* @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
require_once(dirname(__FILE__) . '/lmbTestTreeDirNode.class.php');
-/**
- * class lmbFile2TestNodeMapper.
- *
- * @package tests_runner
- * @version $Id$
+/**
+ * class lmbFile2TestNodeMapper.
+ *
+ * @package tests_runner
+ * @version $Id$
*/
class lmbFile2TestNodeMapper
{
- protected $file_filter;
-
function map($start_dir, $file)
{
$start_dir = realpath($start_dir);
Modified: 3.x/trunk/limb/tests_runner/src/lmbTestTree.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/src/lmbTestTree.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/src/lmbTestTree.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -16,31 +16,12 @@
class lmbTestTree
{
protected $root_node;
- protected $start_time = 0;
- protected $stop_time = 0;
function __construct($root_node)
{
$this->root_node = $root_node;
}
- function getElapsedTime()
- {
- return number_format(((substr($this->stop_time, 0, 9)) +
- (substr($this->stop_time,-10)) -
- (substr($this->start_time, 0, 9)) - (substr($this->start_time, -10))), 4);
- }
-
- protected function _startTiming()
- {
- $this->start_time = microtime();
- }
-
- protected function _stopTiming()
- {
- $this->stop_time = microtime();
- }
-
function find($path)
{
$node = $this->root_node->findChildByPath($path);
@@ -63,16 +44,12 @@
protected function _doPerform($path, $reporter)
{
- $this->_startTiming();
-
if(!$node = $this->find($path))
throw new Exception("Test node '$path' not found!");
$test = $node->createTestGroupWithParents();
$res = $test->run($reporter);
- $this->_stopTiming();
-
return $res;
}
Modified: 3.x/trunk/limb/tests_runner/src/lmbTestTreeDirNode.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/src/lmbTestTreeDirNode.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/src/lmbTestTreeDirNode.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -29,7 +29,7 @@
protected $class_format;
protected $test_group;
protected $loaded;
- protected $ignored;
+ protected $skipped;
function __construct($dir, $file_filter = LIMB_TEST_RUNNER_FILE_FILTER, $class_format = LIMB_TEST_RUNNER_CLASS_FORMAT)
{
@@ -60,6 +60,17 @@
return $group->getLabel();
}
+ function bootstrap()
+ {
+ if($this->isSkipped())
+ return false;
+
+ if(file_exists($this->dir . '/.init.php'))
+ include_once($this->dir . '/.init.php');
+
+ return true;
+ }
+
function createTestGroup()
{
if(is_object($this->test_group))
@@ -73,17 +84,6 @@
return $this->test_group;
}
- function bootstrap()
- {
- if($this->_shouldSkipDir())
- return false;
-
- if(file_exists($this->dir . '/.init.php'))
- include_once($this->dir . '/.init.php');
-
- return true;
- }
-
function createTestGroupWithoutChildren()
{
if(!$this->bootstrap())
@@ -160,26 +160,25 @@
return $clean_and_sorted;
}
- protected function _shouldSkipDir()
+ function isSkipped()
{
- if(!is_null($this->ignored))
- return $this->ignored;
+ if(!is_null($this->skipped))
+ return $this->skipped;
- if(file_exists($this->dir . '/.skip.php'))
- $this->ignored = (bool)include($this->dir . '/.skip.php');
+ if(file_exists($this->dir . '/.skipif.php'))
+ $this->skipped = (bool)include($this->dir . '/.skipif.php');
elseif(file_exists($this->dir . '/.ignore.php'))
- $this->ignored = (bool)include($this->dir . '/.ignore.php');
+ $this->skipped = (bool)include($this->dir . '/.ignore.php');
else
- $this->ignored = false;
+ $this->skipped = false;
- return $this->ignored;
+ return $this->skipped;
}
protected function _isFileAllowed($file)
{
if($this->file_filter && !$this->file_filter->match($file))
- return false;
-
+ return false;
return true;
}
Modified: 3.x/trunk/limb/tests_runner/src/lmbTestTreeFileNode.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/src/lmbTestTreeFileNode.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/src/lmbTestTreeFileNode.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -41,7 +41,7 @@
if($this->test_group)
return $this->test_group;
- $this->test_group = new GroupTest(basename($this->file));
+ $this->test_group = new TestSuite(basename($this->file));
if(!is_null($this->class))
{
Modified: 3.x/trunk/limb/tests_runner/src/lmbTestTreeGlobNode.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/src/lmbTestTreeGlobNode.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/src/lmbTestTreeGlobNode.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,20 +1,20 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
require_once(dirname(__FILE__). '/lmbTestTreeNode.class.php');
-require_once(dirname(__FILE__). '/lmbTestTreeDirNode.class.php');
-
+require_once(dirname(__FILE__). '/lmbTestTreeDirNode.class.php');
+
/**
* class lmbTestTreeGlobNode.
*
* @package tests_runner
* @version $Id$
- */
+ */
class lmbTestTreeGlobNode extends lmbTestTreeNode
{
protected $glob;
@@ -34,7 +34,7 @@
function createTestGroup()
{
- $group = new GroupTest();
+ $group = new TestSuite();
foreach($this->children as $child)
$group->addTestCase($child->createTestGroup());
return $group;
@@ -42,7 +42,7 @@
function createTestGroupWithoutChildren()
{
- return new GroupTest();
+ return new TestSuite();
}
}
Modified: 3.x/trunk/limb/tests_runner/src/lmbTestTreeNode.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/src/lmbTestTreeNode.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/src/lmbTestTreeNode.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,18 +1,18 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
- */
-
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
+ */
+
/**
* abstract class lmbTestTreeNode.
*
* @package tests_runner
* @version $Id$
- */
+ */
abstract class lmbTestTreeNode
{
protected $parent = null;
@@ -76,10 +76,20 @@
return false;
}
+ function isSkipped()
+ {
+ return false;
+ }
+
abstract function createTestGroup();
+
abstract function createTestGroupWithoutChildren();
- function bootstrap(){}
+ function bootstrap()
+ {
+ return true;
+ }
+
function bootstrapPath($path)
{
// return itself in case of / path
@@ -117,7 +127,7 @@
if($parent = $this->getParent())
{
- $final_group = new GroupTest($group->getLabel());
+ $final_group = new TestSuite($group->getLabel());
$wrapped = $parent->wrapWithParentTestGroups($group);
$final_group->addTestCase($wrapped);
return $final_group;
Modified: 3.x/trunk/limb/tests_runner/src/lmbTestTreeTerminalNode.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/src/lmbTestTreeTerminalNode.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/src/lmbTestTreeTerminalNode.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,22 +1,24 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
- */
-
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
+ */
+
/**
* abstract class lmbTestTreeTerminalNode.
*
* @package tests_runner
* @version $Id$
- */
+ */
abstract class lmbTestTreeTerminalNode extends lmbTestTreeNode
{
function addChild($node){}
+
function findChildByPath($path){}
+
function createTestGroupWithoutChildren()
{
return $this->createTestGroup();
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbDetachedFixtureTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbDetachedFixtureTest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbDetachedFixtureTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,16 +1,16 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
require_once(dirname(__FILE__) . '/../common.inc.php');
require_once(dirname(__FILE__) . '/../../src/lmbDetachedFixture.class.php');
-class lmbDetachedFixtureTest extends lmbTestsUtilitiesBase
+class lmbDetachedFixtureTest extends lmbTestRunnerBase
{
function setUp()
{
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbFile2TestNodeMapperTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbFile2TestNodeMapperTest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbFile2TestNodeMapperTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,15 +1,15 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
require_once(dirname(__FILE__) . '/../common.inc.php');
require_once(dirname(__FILE__) . '/../../src/lmbFile2TestNodeMapper.class.php');
-class lmbFile2TestNodeMapperTest extends lmbTestsUtilitiesBase
+class lmbFile2TestNodeMapperTest extends lmbTestRunnerBase
{
function setUp()
{
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbTestGroupTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbTestGroupTest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbTestGroupTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,10 +1,10 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
require_once(dirname(__FILE__) . '/../common.inc.php');
require_once(dirname(__FILE__) . '/../../src/lmbTestGroup.class.php');
@@ -12,7 +12,7 @@
Mock :: generate('lmbDetachedFixture', 'MockDetachedFixture');
-class lmbTestGroupTest extends lmbTestsUtilitiesBase
+class lmbTestGroupTest extends lmbTestRunnerBase
{
function setUp()
{
Added: 3.x/trunk/limb/tests_runner/tests/cases/lmbTestRunnerTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbTestRunnerTest.class.php (rev 0)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbTestRunnerTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -0,0 +1,89 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http:/limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http:/bit-creative.com)
+ * @license LGPL http:/www.gnu.org/copyleft/lesser.html
+ */
+require_once(dirname(__FILE__) . '/../common.inc.php');
+require_once(dirname(__FILE__) . '/../../src/lmbTestRunner.class.php');
+
+class lmbTestRunnerTest extends lmbTestRunnerBase
+{
+ protected $cases;
+
+ function setUp()
+ {
+ $this->_rmdir(LIMB_VAR_DIR);
+ mkdir(LIMB_VAR_DIR);
+ //we need unique temporary dir since test modules are included once
+ mkdir($this->cases = LIMB_VAR_DIR . '/' . mt_rand());
+ }
+
+ function tearDown()
+ {
+ $this->_rmdir(LIMB_VAR_DIR);
+ }
+
+ function testRunOkForFile()
+ {
+ $foo = $this->_createTestCase($this->cases . '/foo_test.php');
+ $bar = $this->_createTestCase($this->cases . '/a/bar_test.php');
+ $zoo = $this->_createTestCase($this->cases . '/a/z/zoo_test.php');
+
+ $runner = new lmbTestRunner($this->cases . '/a/z/zoo_test.php');
+ ob_start();
+ $this->assertTrue($runner->run($found));
+ ob_end_clean();
+ $this->assertTrue($found);
+ }
+
+ function testRunOkForDir()
+ {
+ $foo = $this->_createTestCase($this->cases . '/foo_test.php');
+ $bar = $this->_createTestCase($this->cases . '/a/bar_test.php');
+ $zoo = $this->_createTestCase($this->cases . '/a/z/zoo_test.php');
+
+ $runner = new lmbTestRunner($this->cases . '/a');
+ ob_start();
+ $this->assertTrue($runner->run($found));
+ ob_end_clean();
+ $this->assertTrue($found);
+ }
+
+ function testNoRunnableFilesFound()
+ {
+ $runner = new lmbTestRunner($this->cases . mt_rand());
+ $this->assertTrue($runner->run($found));
+ $this->assertFalse($found);
+ }
+
+ function testRunFailedForFile()
+ {
+ $foo = $this->_createTestCase($this->cases . '/foo_test.php');
+ $bar = $this->_createTestCase($this->cases . '/a/bar_test.php');
+ $zoo = $this->_createTestCaseFailing($this->cases . '/a/z/zoo_test.php');
+
+ $runner = new lmbTestRunner($this->cases . '/a/z/zoo_test.php');
+ ob_start();
+ $this->assertFalse($runner->run($found));
+ ob_end_clean();
+ $this->assertTrue($found);
+ }
+
+ function testRunFailedForDir()
+ {
+ $foo = $this->_createTestCase($this->cases . '/foo_test.php');
+ $bar = $this->_createTestCase($this->cases . '/a/bar_test.php');
+ $zoo = $this->_createTestCaseFailing($this->cases . '/a/z/zoo_test.php');
+
+ $runner = new lmbTestRunner($this->cases . '/a');
+ ob_start();
+ $this->assertFalse($runner->run($found));
+ ob_end_clean();
+ $this->assertTrue($found);
+ }
+}
+
+?>
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbTestShellUITest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbTestShellUITest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbTestShellUITest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -9,7 +9,7 @@
require_once(dirname(__FILE__) . '/../common.inc.php');
require_once(dirname(__FILE__) . '/../../src/lmbTestShellUI.class.php');
-class lmbTestShellUITest extends lmbTestsUtilitiesBase
+class lmbTestShellUITest extends lmbTestRunnerBase
{
function setUp()
{
@@ -141,17 +141,6 @@
$screen = implode("\n", $out);
return $ret;
}
-
- function _createTestCase($file, $extra = '')
- {
- $dir = dirname($file);
- if(!is_dir($dir))
- mkdir($dir, 0777, true);
-
- $generated = new GeneratedTestClass();
- file_put_contents($file, "<?php\n" . $generated->generate(false) . $extra . "\n?>");
- return $generated;
- }
}
?>
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeDirNodeTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeDirNodeTest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeDirNodeTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -10,7 +10,7 @@
require_once(dirname(__FILE__) . '/../../src/lmbTestTreeDirNode.class.php');
require_once(dirname(__FILE__) . '/../../src/lmbTestFileFilter.class.php');
-class lmbTestTreeDirNodeTest extends lmbTestsUtilitiesBase
+class lmbTestTreeDirNodeTest extends lmbTestRunnerBase
{
protected $var_dir;
@@ -73,12 +73,12 @@
{
$foo = new GeneratedTestClass();
touch($this->var_dir . '/junk.php');
- touch($this->var_dir . '/' . $foo->getClass() . '.class.php');
+ touch($this->var_dir . '/' . $foo->getFileName());
$node = new lmbTestTreeDirNode($this->var_dir, array('*.class.php'), '%s.class.php');
$nodes = $node->getChildren();
$this->assertEqual(sizeof($nodes), 1);
- $this->assertEqual($nodes[0]->getFile(), $this->var_dir . '/' . $foo->getClass() . '.class.php');
+ $this->assertEqual($nodes[0]->getFile(), $this->var_dir . '/' . $foo->getFileName());
$this->assertEqual($nodes[0]->getClass(), $foo->getClass());
}
@@ -188,7 +188,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, "wow" . $test1->getClass() . $test2->getClass() . "hey");
+ $this->assertEqual($str, "wow" . $test1->getOutput() . $test2->getOutput() . "hey");
}
function testCreateTestGroupWithParentsForTerminalNode()
@@ -215,7 +215,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, "wow" . $test2->getClass() . "hey");
+ $this->assertEqual($str, "wow" . $test2->getOutput() . "hey");
}
function testCreateTestGroupWithParentsForTopLevelTerminalNode()
@@ -239,7 +239,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, "wow" . $test->getClass() . "hey");
+ $this->assertEqual($str, "wow" . $test->getOutput() . "hey");
}
function testCreateTestGroupWithParents()
@@ -279,7 +279,7 @@
$str = ob_get_contents();
ob_end_clean();
$this->assertEqual($str, "|wow_start|" . "|hey_start|" .
- $test1->getClass() . $test2->getClass() .
+ $test1->getOutput() . $test2->getOutput() .
"|hey_end|" . "|wow_end|");
}
@@ -342,7 +342,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $test1->getClass());
+ $this->assertEqual($str, $test1->getOutput());
}
function testBootstrapForChildDirectories()
@@ -367,7 +367,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, 'wow' . $test1->getClass());
+ $this->assertEqual($str, 'wow' . $test1->getOutput());
}
function testSkipTestsDirectory()
@@ -381,7 +381,7 @@
file_put_contents($this->var_dir . '/a/bar_test.php', $test1->generate());
file_put_contents($this->var_dir . '/a/b/foo_test.php', $test2->generate());
- file_put_contents($this->var_dir . '/a/b/.skip.php', '<?php return true; ?>');
+ file_put_contents($this->var_dir . '/a/b/.skipif.php', '<?php return true; ?>');
$root_node = new lmbTestTreeDirNode($this->var_dir);
$group = $root_node->createTestGroup();
@@ -390,7 +390,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $test1->getClass());
+ $this->assertEqual($str, $test1->getOutput());
}
function testDontSkipTestsDirectory()
@@ -404,7 +404,7 @@
file_put_contents($this->var_dir . '/a/bar_test.php', $test1->generate());
file_put_contents($this->var_dir . '/a/b/foo_test.php', $test2->generate());
- file_put_contents($this->var_dir . '/a/b/.skip.php', '<?php return false; ?>');
+ file_put_contents($this->var_dir . '/a/b/.skipif.php', '<?php return false; ?>');
$root_node = new lmbTestTreeDirNode($this->var_dir);
$group = $root_node->createTestGroup();
@@ -413,7 +413,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $test2->getClass() . $test1->getClass());
+ $this->assertEqual($str, $test2->getOutput() . $test1->getOutput());
}
function testSkippedDirFixtureSkippedToo()
@@ -424,7 +424,7 @@
file_put_contents($this->var_dir . '/a/.setup.php', '<?php echo "No!" ?>');
file_put_contents($this->var_dir . '/a/bar_test.php', $test->generate());
- file_put_contents($this->var_dir . '/a/.skip.php', '<?php return true; ?>');
+ file_put_contents($this->var_dir . '/a/.skipif.php', '<?php return true; ?>');
$root_node = new lmbTestTreeDirNode($this->var_dir);
$group = $root_node->createTestGroup();
@@ -448,7 +448,7 @@
file_put_contents($this->var_dir . '/a/b/foo_test.php', $test2->generate());
file_put_contents($this->var_dir . '/a/b/.init.php', '<?php echo "wow" ?>');
- file_put_contents($this->var_dir . '/a/b/.skip.php', '<?php return true; ?>');
+ file_put_contents($this->var_dir . '/a/b/.skipif.php', '<?php return true; ?>');
$root_node = new lmbTestTreeDirNode($this->var_dir);
$group = $root_node->createTestGroup();
@@ -457,31 +457,8 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $test1->getClass());
+ $this->assertEqual($str, $test1->getOutput());
}
-
- function testChildDirectoriesOfSkippedParentAreSkippedAsWell()
- {
- mkdir($this->var_dir . '/a');
- mkdir($this->var_dir . '/a/b');
-
- $test1 = new GeneratedTestClass();
- $test2 = new GeneratedTestClass();
-
- file_put_contents($this->var_dir . '/a/bar_test.php', $test1->generate());
- file_put_contents($this->var_dir . '/a/b/foo_test.php', $test2->generate());
-
- file_put_contents($this->var_dir . '/a/.skip.php', '<?php return true; ?>');
-
- $root_node = new lmbTestTreeDirNode($this->var_dir . '/a/b');
- $group = $root_node->createTestGroup();
-
- ob_start();
- $group->run(new SimpleReporter());
- $str = ob_get_contents();
- ob_end_clean();
- $this->assertEqual($str, '');
- }
}
?>
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeFileNodeTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeFileNodeTest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeFileNodeTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,15 +1,15 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
require_once(dirname(__FILE__) . '/../common.inc.php');
require_once(dirname(__FILE__) . '/../../src/lmbTestTreeFileNode.class.php');
-class lmbTestTreeFileNodeTest extends lmbTestsUtilitiesBase
+class lmbTestTreeFileNodeTest extends lmbTestRunnerBase
{
function setUp()
{
@@ -27,7 +27,7 @@
$foo = new GeneratedTestClass();
$bar = new GeneratedTestClass();
file_put_contents(LIMB_VAR_DIR . '/module.php',
- "<?php\n" . $foo->generateBareBoned() . "\n" . $bar->generateBareBoned() . "\n?>");
+ "<?php\n" . $foo->generateClass() . "\n" . $bar->generateClass() . "\n?>");
$node = new lmbTestTreeFileNode(LIMB_VAR_DIR . '/module.php');
@@ -37,7 +37,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $foo->getClass() . $bar->getClass());
+ $this->assertEqual($str, $foo->getOutput() . $bar->getOutput());
}
function testCreateTestGroupUsingClass()
@@ -46,7 +46,7 @@
$bar = new GeneratedTestClass();
//module must be unique across test cases since require_once is used
file_put_contents(LIMB_VAR_DIR . '/unique_module_name.php',
- "<?php\n" . $foo->generateBareBoned() . "\n" . $bar->generateBareBoned() . "\n?>");
+ "<?php\n" . $foo->generateClass() . "\n" . $bar->generateClass() . "\n?>");
$node = new lmbTestTreeFileNode(LIMB_VAR_DIR . '/unique_module_name.php', $foo->getClass());
@@ -56,7 +56,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $foo->getClass());
+ $this->assertEqual($str, $foo->getOutput());
}
function testGetTestLabel()
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeGlobNodeTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeGlobNodeTest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeGlobNodeTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,15 +1,15 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
require_once(dirname(__FILE__) . '/../common.inc.php');
require_once(dirname(__FILE__) . '/../../src/lmbTestTreeGlobNode.class.php');
-class lmbTestTreeGlobNodeTest extends lmbTestsUtilitiesBase
+class lmbTestTreeGlobNodeTest extends lmbTestRunnerBase
{
function setUp()
{
@@ -45,7 +45,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $test1->getClass() . $test2->getClass());
+ $this->assertEqual($str, $test1->getOutput() . $test2->getOutput());
}
function testNotAGlobMatch()
@@ -66,7 +66,7 @@
$group->run(new SimpleReporter());
$str = ob_get_contents();
ob_end_clean();
- $this->assertEqual($str, $test1->getClass() . $test2->getClass());
+ $this->assertEqual($str, $test1->getOutput() . $test2->getOutput());
}
}
Modified: 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeTest.class.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeTest.class.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/cases/lmbTestTreeTest.class.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -38,9 +38,7 @@
$runner = new lmbTestTree($root_node);
- $this->assertEqual($runner->getElapsedTime(), 0);
$this->assertEqual($runner->perform($path, $reporter), $res);
- $this->assertNotEqual($runner->getElapsedTime(), 0);
}
function testFind()
Modified: 3.x/trunk/limb/tests_runner/tests/common.inc.php
===================================================================
--- 3.x/trunk/limb/tests_runner/tests/common.inc.php 2007-06-26 09:15:02 UTC (rev 6015)
+++ 3.x/trunk/limb/tests_runner/tests/common.inc.php 2007-06-26 13:31:54 UTC (rev 6016)
@@ -1,10 +1,10 @@
<?php
-/*
- * Limb PHP Framework
- *
- * @link http://limb-project.com
- * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
- * @license LGPL http://www.gnu.org/copyleft/lesser.html
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
*/
class GeneratedTestClass
@@ -21,25 +21,52 @@
return $this->class_name;
}
- function generate($add_php = true)
+ function getFileName()
{
+ return $this->class_name . ".class.php";
+ }
+
+ function getOutput()
+ {
+ return $this->class_name . "\n";
+ }
+
+ function generate()
+ {
$code = '';
- $code .= $add_php ? "<?php\n" : '';
- $code .= "class {$this->class_name} extends UnitTestCase {
- function testMe() {echo \"{$this->class_name}\";}
- }";
- $code .= $add_php ? "\n?>" : '';
+ $code .= "<?php\n";
+ $code .= $this->generateClass();
+ $code .= "\n?>";
+ return $code;
+ }
+ function generateFailing()
+ {
+ $code = '';
+ $code .= "<?php\n";
+ $code .= $this->generateClassFailing();
+ $code .= "\n?>";
return $code;
}
- function generateBareBoned()
+ function generateClass()
{
- return $this->generate(false);
+ $code = "class {$this->class_name} extends UnitTestCase {
+ function testSay() {echo \"" . $this->getOutput() . "\";}
+ }";
+ return $code;
}
+
+ function generateClassFailing()
+ {
+ $code = "class {$this->class_name} extends UnitTestCase {
+ function testSay() {\$this->assertTrue(false);echo \"" . $this->getOutput() . "\";}
+ }";
+ return $code;
+ }
}
-abstract class lmbTestsUtilitiesBase extends UnitTestCase
+abstract class lmbTestRunnerBase extends UnitTestCase
{
function _rmdir($path)
{
@@ -59,5 +86,27 @@
clearstatcache();
return $res;
}
+
+ function _createTestCase($file, $extra = '')
+ {
+ $dir = dirname($file);
+ if(!is_dir($dir))
+ mkdir($dir, 0777, true);
+
+ $generated = new GeneratedTestClass();
+ file_put_contents($file, "<?php\n" . $generated->generateClass() . $extra . "\n?>");
+ return $generated;
+ }
+
+ function _createTestCaseFailing($file, $extra = '')
+ {
+ $dir = dirname($file);
+ if(!is_dir($dir))
+ mkdir($dir, 0777, true);
+
+ $generated = new GeneratedTestClass();
+ file_put_contents($file, "<?php\n" . $generated->generateClassFailing() . $extra . "\n?>");
+ return $generated;
+ }
}
?>
\ No newline at end of file
More information about the limb-svn
mailing list