[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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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 &copy; 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