Remove all "FileHasObject" edge reads and writes
[phabricator.git] / src / applications / harbormaster / constants / HarbormasterUnitStatus.php
blobde7c4dd42f91587b8336a8d8ac5ec3d61cc23ae4
1 <?php
3 final class HarbormasterUnitStatus
4 extends Phobject {
6 public static function getUnitStatusIcon($status) {
7 $map = self::getUnitStatusDictionary($status);
8 $default = 'fa-question-circle';
9 return idx($map, 'icon', $default);
12 public static function getUnitStatusColor($status) {
13 $map = self::getUnitStatusDictionary($status);
14 $default = 'violet';
15 return idx($map, 'color', $default);
18 public static function getUnitStatusLabel($status) {
19 $map = self::getUnitStatusDictionary($status);
20 $default = pht('Unknown Status ("%s")', $status);
21 return idx($map, 'label', $default);
24 public static function getUnitStatusSort($status) {
25 $map = self::getUnitStatusDictionary($status);
26 $default = 'N';
27 return idx($map, 'sort', $default);
30 private static function getUnitStatusDictionary($status) {
31 $map = self::getUnitStatusMap();
32 $default = array();
33 return idx($map, $status, $default);
36 public static function getUnitStatusCountLabel($status, $count) {
37 $count = new PhutilNumber($count);
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);
52 return pht('%s Other Test(s)', $count);
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',
63 ArcanistUnitTestResult::RESULT_BROKEN => array(
64 'label' => pht('Broken'),
65 'icon' => 'fa-bomb',
66 'color' => 'indigo',
67 'sort' => 'B',
69 ArcanistUnitTestResult::RESULT_UNSOUND => array(
70 'label' => pht('Unsound'),
71 'icon' => 'fa-exclamation-triangle',
72 'color' => 'yellow',
73 'sort' => 'C',
75 ArcanistUnitTestResult::RESULT_PASS => array(
76 'label' => pht('Passed'),
77 'icon' => 'fa-check',
78 'color' => 'green',
79 'sort' => 'D',
81 ArcanistUnitTestResult::RESULT_SKIP => array(
82 'label' => pht('Skipped'),
83 'icon' => 'fa-fast-forward',
84 'color' => 'blue',
85 'sort' => 'E',