Beispiel #1
0
 public final function decodeAction($action, $canBeNull = true)
 {
     $action = $this->validateAction($action, $canBeNull);
     if ($action === null) {
         return 'null';
     }
     return PsUtil::getClassConstByValue($this->CLASS, 'ACTION_', $action) . ' (' . $action . ')';
 }
 /**
  * Проверка состояния
  * 
  * @param int $state - одно из состояний
  */
 private function checkState($state)
 {
     if ($state !== $this->STATE) {
         PsUtil::raise('Invalid state of {}. Current state: {}. Expected: {}.', __CLASS__, PsUtil::getClassConstByValue(__CLASS__, 'STATE_', $this->STATE), PsUtil::getClassConstByValue(__CLASS__, 'STATE_', $state));
     }
 }
Beispiel #3
0
 /**
  * @covers PsUtil::getClassConstByValue
  */
 public function testGetClassConstByValue()
 {
     $this->assertEquals('CONST_A', PsUtil::getClassConstByValue(new ClassA(), null, 'A'));
     $this->assertEquals('CONST_A', PsUtil::getClassConstByValue(new ClassA(), 'CONST_', 'A'));
     $this->assertEquals('CONST_A', PsUtil::getClassConstByValue(new ClassA(), 'CONST_A', 'A'));
     $this->assertEquals('CONST_B', PsUtil::getClassConstByValue(new ClassA(), null, 'B'));
     $this->assertEquals('CONST_B', PsUtil::getClassConstByValue(new ClassA(), 'CONST_', 'B'));
     $this->assertEquals('CONST_B', PsUtil::getClassConstByValue(new ClassA(), 'CONST_B', 'B'));
     try {
         //Константы не существует
         PsUtil::getClassConstByValue(new ClassA(), 'CONST_A', 'B');
         $this->fail('Exception is expected');
     } catch (PException $ex) {
         //OK
     }
     try {
         //Две константы с одинаковым значением
         PsUtil::getClassConstByValue(new ClassA(), 'CONST_', 'C');
         $this->fail('Exception is expected');
     } catch (PException $ex) {
         //OK
     }
 }
Beispiel #4
0
 /**
  * Метод утверждает, что в классе есть константа с заданным значением.
  */
 public static function assertClassHasConstVithValue($class, $prefix, $value)
 {
     PsUtil::getClassConstByValue($class, $prefix, $value);
     return $value;
 }