Merge pull request #5550 from civicrm/4.5
[civicrm-core.git] / Civi / CiUtil / PHPUnitParser.php
CommitLineData
f03dc6b0
TO
1<?php
2namespace Civi\CiUtil;
3
4/**
5 * Parse phpunit result files
6 */
7class PHPUnitParser {
8 /**
04855556
TO
9 * @param string $content
10 * Phpunit streaming JSON.
72b3a70c
CW
11 * @return array
12 * ["$class::$func" => $status]
f03dc6b0
TO
13 */
14 protected static function parseJsonStream($content) {
15 $content = '['
16 . strtr($content, array("}{" => "},{"))
17 . ']';
18 return json_decode($content, TRUE);
19 }
20
21 /**
04855556
TO
22 * @param string $content
23 * Json stream.
a6c01b45
CW
24 * @return array
25 * (string $testName => string $status)
f03dc6b0
TO
26 */
27 public static function parseJsonResults($content) {
28 $records = self::parseJsonStream($content);
29 $results = array();
30 foreach ($records as $r) {
31 if ($r['event'] == 'test') {
32 $results[$r['test']] = $r['status'];
33 }
34 }
35 return $results;
36 }
37
ef10e0b5 38}