* Dariusz Rumiński * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Tests\Tokenizer\Transformer; use PhpCsFixer\Tests\Test\AbstractTransformerTestCase; use PhpCsFixer\Tokenizer\Tokens; /** * @author Dariusz Rumiński * * @internal * * @covers \PhpCsFixer\Tokenizer\Transformer\WhitespacyCommentTransformer */ final class WhitespacyCommentTransformerTest extends AbstractTransformerTestCase { /** * @param array $expectedTokens * * @dataProvider provideProcessCases */ public function testProcess(string $source, array $expectedTokens): void { $tokens = Tokens::fromCode($source); foreach ($expectedTokens as $index => $expectedToken) { $token = $tokens[$index]; self::assertSame($expectedToken[1], $token->getContent()); self::assertSame($expectedToken[0], $token->getId()); } } /** * @return iterable}> */ public static function provideProcessCases(): iterable { yield [ " [T_COMMENT, '// foo'], 2 => [T_WHITESPACE, "\n "], ], ]; yield [ " [T_COMMENT, '// foo'], 2 => [T_WHITESPACE, "\n\n "], ], ]; yield [ " [T_COMMENT, '// foo'], 2 => [T_WHITESPACE, " \r\n "], ], ]; yield [ ' [T_COMMENT, '/* foo1 */'], 2 => [T_COMMENT, '// foo2'], ], ]; } }