/** * 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); }
/** * @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()); }