FUnit::report_text PHP Method

report_text() protected static method

Normally you would not call this method directly
See also: FUnit::report()
See also: FUnit::run()
protected static report_text ( array $tests )
$tests array
    protected static function report_text(array $tests)
    {
        $total_assert_counts = static::assertion_stats($tests);
        $test_counts = static::test_stats($tests);
        static::report_out("RESULTS:");
        static::report_out("--------------------------------------------");
        foreach ($tests as $name => $tdata) {
            $assert_counts = static::assertion_stats($tests, $name);
            if ($tdata['pass']) {
                $test_color = 'GREEN';
            } else {
                if ($assert_counts['total'] - $assert_counts['expected_fail'] == $assert_counts['pass']) {
                    $test_color = 'YELLOW';
                } else {
                    $test_color = 'RED';
                }
            }
            static::report_out("TEST:" . static::color(" {$name} ({$assert_counts['pass']}/{$assert_counts['total']}):", $test_color));
            foreach ($tdata['assertions'] as $ass) {
                if ($ass['expected_fail']) {
                    $assert_color = 'YELLOW';
                } else {
                    $assert_color = $ass['result'] == static::PASS ? 'GREEN' : 'RED';
                }
                $file_line = "{$ass['file']}#{$ass['line']}";
                $args_str = '';
                if ($ass['result'] === static::FAIL) {
                    $args_str = implode(', ', $ass['args_strs']);
                }
                $ass_str = "{$ass['result']} {$ass['func_name']}({$args_str}) {$ass['msg']}";
                $ass_str .= $ass['expected_fail'] ? '(expected)' : '';
                if ($ass['result'] === static::FAIL) {
                    $ass_str .= PHP_EOL . "   {$ass['fail_info']}";
                    $ass_str .= PHP_EOL . "   {$file_line}";
                }
                static::report_out(" * " . static::color($ass_str, $assert_color));
            }
            if (count($tdata['errors']) > 0) {
                $bt = '';
                foreach ($tdata['errors'] as $error) {
                    $sep = "\n  -> ";
                    $bt = $sep . implode($sep, $error['backtrace']);
                    static::report_out(' * ' . static::color(strtoupper($error['type']) . ": {$error['msg']} in {$bt}", 'RED'));
                }
            }
            static::report_out("");
        }
        $err_color = $test_counts['error'] > 0 ? 'RED' : 'WHITE';
        static::report_out("ERRORS/EXCEPTIONS: " . static::color($test_counts['error'], $err_color));
        static::report_out("ASSERTIONS: " . static::color("{$total_assert_counts['pass']} pass", 'GREEN') . ", " . static::color("{$total_assert_counts['fail']} fail", 'RED') . ", " . static::color("{$total_assert_counts['expected_fail']} expected fail", 'YELLOW') . ", " . static::color("{$total_assert_counts['total']} total", 'WHITE'));
        static::report_out("TESTS: {$test_counts['run']} run, " . static::color("{$test_counts['pass']} pass", 'GREEN') . ", " . static::color("{$test_counts['total']} total", 'WHITE'));
    }