/**
  * Remove trailing spaces
  *
  * @param \PHP\Manipulator\TokenContainer $container
  * @param mixed $params
  */
 public function run(TokenContainer $container)
 {
     $newlineDetector = new NewlineDetector();
     $code = $container->toString();
     $defaultBreak = $newlineDetector->getNewlineFromContainer($container);
     $code = preg_split('~(\\r\\n|\\n|\\r)~', $code);
     $code = array_map('rtrim', $code);
     $code = implode($defaultBreak, $code);
     if (true === $this->getOption('removeEmptyLinesAtFileEnd')) {
         $code = rtrim($code);
     }
     $container->updateFromCode($code);
 }
예제 #2
0
 /**
  * @covers \PHP\Manipulator\TokenContainer::toString
  * @covers \Exception
  */
 public function testToString()
 {
     $token1 = Token::factory('Token1');
     $token2 = Token::factory('Token2');
     $token3 = Token::factory('Token3');
     $container = new TokenContainer();
     $this->assertEquals('', $container->toString());
     $container[] = $token1;
     $this->assertEquals('Token1', $container->toString());
     $container[] = $token3;
     $this->assertEquals('Token1Token3', $container->toString());
     $container[] = $token2;
     $this->assertEquals('Token1Token3Token2', $container->toString());
 }