/** * @param array $classes * @param bool $return_html * @return string */ public static function run($classes, $return_html = true) { self::$classes = $classes; self::$tests = 0; self::$passes = array(); self::$fails = array(); self::$exceptions = array(); self::$failing_methods = array(); foreach ($classes as $class_name) { ++self::$tests; self::$passes[$class_name] = 0; self::$fails[$class_name] = 0; self::$exceptions[$class_name] = array(); self::$failing_methods[$class_name] = array(); $methods = get_class_methods($class_name); $test_case = new $class_name(); $test_case->setup(); foreach ($methods as $method_name) { if (substr($method_name, 0, 4) == 'test') { try { $test_case->{$method_name}(); } catch (Exception $e) { self::$exceptions[$class_name][$method_name] = $e; } } } $test_case->teardown(); } return self::printer($return_html); }
public function teardown() { $this->assertTrue(PicoraActiveRecord::executeQuery('DROP TABLE albums')); } } class TestSamplePicoraApplication extends PicoraTest { } class TestPicoraCalendar extends PicoraTest { public function testCalenader() { $c = new PicoraCalendar(5, 2007); $may_2007_output = $c->display(); $this->assertEqual(5, substr_count($may_2007_output, '<tr class="calendar_week">')); $this->assertEqual(1, substr_count($may_2007_output, '<tr class="calendar_header"><td colspan="7">')); $this->assertEqual(1, substr_count($may_2007_output, '<tr class="calendar_day_names">')); $c = new PicoraCalendar(5, 2007, array('header' => false, 'day_names' => false)); $may_2007_output = $c->display(); $this->assertEqual(5, substr_count($may_2007_output, '<tr class="calendar_week">')); $this->assertEqual(0, substr_count($may_2007_output, '<tr class="calendar_header"><td colspan="7">')); $this->assertEqual(0, substr_count($may_2007_output, '<tr class="calendar_day_names">')); $c = new PicoraCalendar(2, 2009, array('header' => false, 'day_names' => false)); $feb_2009_output = $c->display(); $this->assertEqual(4, substr_count($feb_2009_output, '<tr class="calendar_week">')); $this->assertEqual(0, substr_count($feb_2009_output, '<tr class="calendar_header"><td colspan="7">')); $this->assertEqual(0, substr_count($feb_2009_output, '<tr class="calendar_day_names">')); } } print PicoraTest::run(array('TestPicoraAutoLoader', 'TestPicoraDispatcher', 'TestPicoraController', 'TestPicoraView', 'TestPicoraActiveRecordSQLite', 'TestPicoraActiveRecordMySQL', 'TestSamplePicoraApplication', 'TestPicoraCalendar'));