Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/harbormaster/constants/HarbormasterUnitStatus.php
12256 views
1
<?php
2
3
final class HarbormasterUnitStatus
4
extends Phobject {
5
6
public static function getUnitStatusIcon($status) {
7
$map = self::getUnitStatusDictionary($status);
8
$default = 'fa-question-circle';
9
return idx($map, 'icon', $default);
10
}
11
12
public static function getUnitStatusColor($status) {
13
$map = self::getUnitStatusDictionary($status);
14
$default = 'violet';
15
return idx($map, 'color', $default);
16
}
17
18
public static function getUnitStatusLabel($status) {
19
$map = self::getUnitStatusDictionary($status);
20
$default = pht('Unknown Status ("%s")', $status);
21
return idx($map, 'label', $default);
22
}
23
24
public static function getUnitStatusSort($status) {
25
$map = self::getUnitStatusDictionary($status);
26
$default = 'N';
27
return idx($map, 'sort', $default);
28
}
29
30
private static function getUnitStatusDictionary($status) {
31
$map = self::getUnitStatusMap();
32
$default = array();
33
return idx($map, $status, $default);
34
}
35
36
public static function getUnitStatusCountLabel($status, $count) {
37
$count = new PhutilNumber($count);
38
39
switch ($status) {
40
case ArcanistUnitTestResult::RESULT_FAIL:
41
return pht('%s Failed Test(s)', $count);
42
case ArcanistUnitTestResult::RESULT_BROKEN:
43
return pht('%s Broken Test(s)', $count);
44
case ArcanistUnitTestResult::RESULT_UNSOUND:
45
return pht('%s Unsound Test(s)', $count);
46
case ArcanistUnitTestResult::RESULT_PASS:
47
return pht('%s Passed Test(s)', $count);
48
case ArcanistUnitTestResult::RESULT_SKIP:
49
return pht('%s Skipped Test(s)', $count);
50
}
51
52
return pht('%s Other Test(s)', $count);
53
}
54
55
private static function getUnitStatusMap() {
56
return array(
57
ArcanistUnitTestResult::RESULT_FAIL => array(
58
'label' => pht('Failed'),
59
'icon' => 'fa-times',
60
'color' => 'red',
61
'sort' => 'A',
62
),
63
ArcanistUnitTestResult::RESULT_BROKEN => array(
64
'label' => pht('Broken'),
65
'icon' => 'fa-bomb',
66
'color' => 'indigo',
67
'sort' => 'B',
68
),
69
ArcanistUnitTestResult::RESULT_UNSOUND => array(
70
'label' => pht('Unsound'),
71
'icon' => 'fa-exclamation-triangle',
72
'color' => 'yellow',
73
'sort' => 'C',
74
),
75
ArcanistUnitTestResult::RESULT_PASS => array(
76
'label' => pht('Passed'),
77
'icon' => 'fa-check',
78
'color' => 'green',
79
'sort' => 'D',
80
),
81
ArcanistUnitTestResult::RESULT_SKIP => array(
82
'label' => pht('Skipped'),
83
'icon' => 'fa-fast-forward',
84
'color' => 'blue',
85
'sort' => 'E',
86
),
87
);
88
}
89
90
}
91
92