NotOperatorWithSuccessorSpaceFixerTest.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4. * This file is part of PHP CS Fixer.
  5. *
  6. * (c) Fabien Potencier <fabien@symfony.com>
  7. * Dariusz Rumiński <dariusz.ruminski@gmail.com>
  8. *
  9. * This source file is subject to the MIT license that is bundled
  10. * with this source code in the file LICENSE.
  11. */
  12. namespace PhpCsFixer\Tests\Fixer\Operator;
  13. use PhpCsFixer\Tests\Test\AbstractFixerTestCase;
  14. /**
  15. * @author Javier Spagnoletti <phansys@gmail.com>
  16. *
  17. * @internal
  18. *
  19. * @covers \PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer
  20. */
  21. final class NotOperatorWithSuccessorSpaceFixerTest extends AbstractFixerTestCase
  22. {
  23. /**
  24. * @dataProvider provideFixCases
  25. */
  26. public function testFix(string $expected, ?string $input = null): void
  27. {
  28. $this->doTest($expected, $input);
  29. }
  30. public static function provideFixCases(): iterable
  31. {
  32. return [
  33. [
  34. '<?php $i = 0; $i++; $foo = ! false || (! true || ! ! false && (2 === (7 -5)));',
  35. '<?php $i = 0; $i++; $foo = !false || (!true || !!false && (2 === (7 -5)));',
  36. ],
  37. [
  38. '<?php $i = 0; $i--; $foo = ! false || ($i && ! true);',
  39. '<?php $i = 0; $i--; $foo = !false || ($i && !true);',
  40. ],
  41. [
  42. '<?php $i = 0; $i--; $foo = ! false || ($i && ! /* some comment */true);',
  43. '<?php $i = 0; $i--; $foo = !false || ($i && !/* some comment */true);',
  44. ],
  45. [
  46. '<?php $i = 0; $i--; $foo = ! false || ($i && ! true);',
  47. '<?php $i = 0; $i--; $foo = !false || ($i && ! true);',
  48. ],
  49. [
  50. '<?php $i = 0; $i--; $foo = ! false || ($i && ! /* some comment */ true);',
  51. '<?php $i = 0; $i--; $foo = !false || ($i && ! /* some comment */ true);',
  52. ],
  53. 'comment case' => [
  54. '<?php
  55. $a=#
  56. ! #
  57. $b;
  58. ',
  59. '<?php
  60. $a=#
  61. !
  62. #
  63. $b;
  64. ',
  65. ],
  66. ];
  67. }
  68. }