Path: blob/master/src/applications/differential/constants/DifferentialUnitStatus.php
12256 views
<?php12final class DifferentialUnitStatus extends Phobject {34const UNIT_NONE = 0;5const UNIT_OKAY = 1;6const UNIT_WARN = 2;7const UNIT_FAIL = 3;8const UNIT_SKIP = 4;9const UNIT_AUTO_SKIP = 6;1011private $value;1213public static function newStatusFromValue($value) {14$status = new self();15$status->value = $value;16return $status;17}1819public function getValue() {20return $this->value;21}2223public function getName() {24$name = $this->getUnitStatusProperty('name');2526if ($name === null) {27$name = pht('Unknown Unit Status ("%s")', $this->getValue());28}2930return $name;31}3233public function getIconIcon() {34return $this->getUnitStatusProperty('icon.icon');35}3637public function getIconColor() {38return $this->getUnitStatusProperty('icon.color');39}4041public static function getStatusMap() {42$results = array();4344foreach (self::newUnitStatusMap() as $value => $ignored) {45$results[$value] = self::newStatusFromValue($value);46}4748return $results;49}5051private function getUnitStatusProperty($key, $default = null) {52$map = self::newUnitStatusMap();53$properties = idx($map, $this->getValue(), array());54return idx($properties, $key, $default);55}5657private static function newUnitStatusMap() {58return array(59self::UNIT_NONE => array(60'name' => pht('No Test Coverage'),61'icon.icon' => 'fa-ban',62'icon.color' => 'grey',63),64self::UNIT_OKAY => array(65'name' => pht('Tests Passed'),66'icon.icon' => 'fa-check',67'icon.color' => 'green',68),69self::UNIT_WARN => array(70'name' => pht('Test Warnings'),71'icon.icon' => 'fa-exclamation-triangle',72'icon.color' => 'yellow',73),74self::UNIT_FAIL => array(75'name' => pht('Test Failures'),76'icon.icon' => 'fa-times',77'icon.color' => 'red',78),79self::UNIT_SKIP => array(80'name' => pht('Tests Skipped'),81'icon.icon' => 'fa-fast-forward',82'icon.color' => 'blue',83),84self::UNIT_AUTO_SKIP => array(85'name' => pht('Tests Not Applicable'),86'icon.icon' => 'fa-code',87'icon.color' => 'grey',88),89);90}9192}939495