* 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\Fixer\CastNotation; use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException; use PhpCsFixer\Tests\Test\AbstractFixerTestCase; /** * @internal * * @covers \PhpCsFixer\Fixer\CastNotation\CastSpacesFixer */ final class CastSpacesFixerTest extends AbstractFixerTestCase { public function testInvalidConfigMissingKey(): void { $this->expectException(InvalidFixerConfigurationException::class); $this->expectExceptionMessageMatches('#^\[cast_spaces\] Invalid configuration: The option "a" does not exist\. Defined options are: "space"\.$#'); $this->fixer->configure(['a' => 1]); } public function testInvalidConfigValue(): void { $this->expectException(InvalidFixerConfigurationException::class); $this->expectExceptionMessageMatches('#^\[cast_spaces\] Invalid configuration: The option "space" with value "double" is invalid\. Accepted values are: "none", "single"\.$#'); $this->fixer->configure(['space' => 'double']); } /** * @dataProvider provideFixCastsCases */ public function testFixCastsWithDefaultConfiguration(string $expected, ?string $input = null): void { $this->doTest($expected, $input); } /** * @dataProvider provideFixCastsCases */ public function testFixCastsSingleSpace(string $expected, ?string $input = null): void { $this->fixer->configure(['space' => 'single']); $this->doTest($expected, $input); } public static function provideFixCastsCases(): iterable { yield [ 'fixer->configure(['space' => 'none']); $this->doTest($expected, $input); } public static function provideFixCastsNoneSpaceCases(): iterable { yield [ '