summaryrefslogtreecommitdiffstats
path: root/3rdparty/simpletest/extensions/testdox.php
blob: 5cf32f3516249c33abb7bd6c10505425615c1029 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
/**
 *	Extension for a TestDox reporter
 *	@package	SimpleTest
 *	@subpackage	Extensions
 *	@version	$Id: testdox.php 2004 2010-10-31 13:44:14Z jsweat $
 */

/**
 * 	TestDox reporter 
 *	@package	SimpleTest
 *	@subpackage	Extensions
 */
class TestDoxReporter extends SimpleReporter
{
    var $_test_case_pattern = '/^TestOf(.*)$/';

    function __construct($test_case_pattern = '/^TestOf(.*)$/') {
        parent::__construct();
        $this->_test_case_pattern = empty($test_case_pattern) ? '/^(.*)$/' : $test_case_pattern;
    }

    function paintCaseStart($test_name) {
        preg_match($this->_test_case_pattern, $test_name, $matches);
        if (!empty($matches[1])) {
            echo $matches[1] . "\n";
        } else {
            echo $test_name . "\n";
        }
    }

    function paintCaseEnd($test_name) {
        echo "\n";
    }

    function paintMethodStart($test_name) {
        if (!preg_match('/^test(.*)$/i', $test_name, $matches)) {
            return;
        }
        $test_name = $matches[1];
        $test_name = preg_replace('/([A-Z])([A-Z])/', '$1 $2', $test_name);
        echo '- ' . strtolower(preg_replace('/([a-zA-Z])([A-Z0-9])/', '$1 $2', $test_name));
    }

    function paintMethodEnd($test_name) {
        echo "\n";
    }

    function paintFail($message) {
        echo " [FAILED]";
    }
}
?>