1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-25 04:59:06 +01:00
phorge-phorge/src/applications/harbormaster/constants/HarbormasterUnitStatus.php
epriestley 3c19b72ca0 Begin making Harbormaster unit test results a little easier to read
Summary: Ref T10457. These lack color and iconography and are difficult to parse. Make them easier to read.

Test Plan:
Before:

{F1135396}

After:

{F1135399}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10457

Differential Revision: https://secure.phabricator.com/D15362
2016-02-29 14:24:08 -08:00

89 lines
2.6 KiB
PHP

<?php
final class HarbormasterUnitStatus
extends Phobject {
public static function getUnitStatusIcon($status) {
$map = self::getUnitStatusDictionary($status);
$default = 'fa-question-circle';
return idx($map, 'icon', $default);
}
public static function getUnitStatusColor($status) {
$map = self::getUnitStatusDictionary($status);
$default = 'violet';
return idx($map, 'color', $default);
}
public static function getUnitStatusLabel($status) {
$map = self::getUnitStatusDictionary($status);
$default = pht('Unknown Status ("%s")', $status);
return idx($map, 'label', $default);
}
public static function getUnitStatusSort($status) {
$map = self::getUnitStatusDictionary($status);
$default = 'N';
return idx($map, 'sort', $default);
}
private static function getUnitStatusDictionary($status) {
$map = self::getUnitStatusMap();
$default = array();
return idx($map, $status, $default);
}
public static function getUnitStatusCountLabel($status, $count) {
$count = new PhutilNumber($count);
switch ($status) {
case ArcanistUnitTestResult::RESULT_FAIL:
return pht('%s Failed Test(s)', $count);
case ArcanistUnitTestResult::RESULT_BROKEN:
return pht('%s Broken Test(s)', $count);
case ArcanistUnitTestResult::RESULT_UNSOUND:
return pht('%s Unsound Test(s)', $count);
case ArcanistUnitTestResult::RESULT_SKIP:
return pht('%s Skipped Test(s)', $count);
case ArcanistUnitTestResult::RESULT_PASS:
return pht('%s Passed Test(s)', $count);
}
return pht('%s Other Test(s)', $count);
}
private static function getUnitStatusMap() {
return array(
ArcanistUnitTestResult::RESULT_FAIL => array(
'label' => pht('Failed'),
'icon' => 'fa-times',
'color' => 'red',
'sort' => 'A',
),
ArcanistUnitTestResult::RESULT_BROKEN => array(
'label' => pht('Broken'),
'icon' => 'fa-bomb',
'color' => 'indigo',
'sort' => 'B',
),
ArcanistUnitTestResult::RESULT_UNSOUND => array(
'label' => pht('Unsound'),
'icon' => 'fa-exclamation-triangle',
'color' => 'yellow',
'sort' => 'C',
),
ArcanistUnitTestResult::RESULT_SKIP => array(
'label' => pht('Skipped'),
'icon' => 'fa-fast-forward',
'color' => 'blue',
),
ArcanistUnitTestResult::RESULT_PASS => array(
'label' => pht('Passed'),
'icon' => 'fa-check',
'color' => 'green',
'sort' => 'Z',
),
);
}
}