/**
  * Run Action
  *
  * @param \PHP\Manipulator\TokenContainer $container
  */
 public function run(TokenContainer $container)
 {
     $iterator = $container->getIterator();
     while ($iterator->valid()) {
         $token = $iterator->current();
         if ($this->isType($token, T_ELSEIF)) {
             $token->setType(T_ELSE);
             $token->setValue('else');
             $whitespaceToken = new Token(' ', T_WHITESPACE);
             $ifToken = new Token('if', T_IF);
             $container->insertTokenAfter($token, $whitespaceToken);
             $container->insertTokenAfter($whitespaceToken, $ifToken);
             $iterator = $container->getIterator();
             $iterator->seekToToken($ifToken);
         }
         $iterator->next();
     }
     $container->retokenize();
 }
Esempio n. 2
0
 /**
  * Format casts
  *
  * @param \PHP\Manipulator\TokenContainer $container
  * @param array $params
  */
 public function run(TokenContainer $container)
 {
     $iterator = $container->getIterator();
     $searchedTokens = $this->getOption('searchedTokens');
     $whitespace = $this->getOption('whitespaceBehindCasts');
     while ($iterator->valid()) {
         $token = $iterator->current();
         if ($this->isType($token, array_keys($searchedTokens))) {
             $token->setValue($searchedTokens[$token->getType()]);
             $next = $iterator->getNext();
             if ($this->isType($next, T_WHITESPACE)) {
                 if ($next->getValue() != $whitespace) {
                     $next->setValue($this->getOption('whitespaceBehindCasts'));
                 }
             } elseif (!empty($whitespace)) {
                 $container->insertTokenAfter($token, new Token($whitespace, T_WHITESPACE));
                 $iterator->update($token);
             }
         }
         $iterator->next();
     }
     $container->retokenize();
 }
 /**
  * @covers \PHP\Manipulator\TokenContainer::insertTokenAfter
  * @covers \Exception
  */
 public function testInsertTokenAfterThrowsExceptionIfAfterTokenNotExists()
 {
     $token1 = Token::factory('Token1');
     $token2 = Token::factory('Token2');
     $token3 = Token::factory('Token3');
     $container = new TokenContainer(array($token1));
     try {
         $container->insertTokenAfter($token2, $token3);
         $this->fail('Expected exception not thrown');
     } catch (\Exception $e) {
         $this->assertEquals("Container does not contain Token: {$token2}", $e->getMessage(), 'Wrong exception message');
     }
 }