SwitchCaseSemicolonToColonFixerTest.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?php
  2. /*
  3. * This file is part of the PHP CS utility.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. namespace Symfony\CS\Tests\Fixer\PSR2;
  11. use Symfony\CS\Tests\Fixer\AbstractFixerTestBase;
  12. /**
  13. * @author SpacePossum
  14. *
  15. * @internal
  16. */
  17. final class SwitchCaseSemicolonToColonFixerTest extends AbstractFixerTestBase
  18. {
  19. /**
  20. * @dataProvider provideFixCases
  21. */
  22. public function testFix($expected, $input = null)
  23. {
  24. $this->makeTest($expected, $input);
  25. }
  26. public function provideFixCases()
  27. {
  28. return array(
  29. array(
  30. '<?php
  31. switch ($a) {
  32. case 42:
  33. break;
  34. }
  35. ',
  36. '<?php
  37. switch ($a) {
  38. case 42;
  39. break;
  40. }
  41. ',
  42. ),
  43. array(
  44. '<?php
  45. switch ($a) {
  46. case 42:
  47. break;
  48. case 1:
  49. switch ($a) {
  50. case 42:
  51. break;
  52. default :
  53. echo 1;
  54. }
  55. }',
  56. '<?php
  57. switch ($a) {
  58. case 42;
  59. break;
  60. case 1:
  61. switch ($a) {
  62. case 42;
  63. break;
  64. default ;
  65. echo 1;
  66. }
  67. }',
  68. ),
  69. array(
  70. '<?php
  71. switch ($a) {
  72. case 42:;;// DuplicateSemicolonFixer should clean this up (partly)
  73. break;
  74. }
  75. ',
  76. '<?php
  77. switch ($a) {
  78. case 42;;;// DuplicateSemicolonFixer should clean this up (partly)
  79. break;
  80. }
  81. ',
  82. ),
  83. array(
  84. '<?php
  85. switch ($a) {
  86. case $b ? "c" : "d" :
  87. break;
  88. }
  89. ',
  90. '<?php
  91. switch ($a) {
  92. case $b ? "c" : "d" ;
  93. break;
  94. }
  95. ',
  96. ),
  97. array(
  98. '<?php
  99. switch ($a) {
  100. case $b ? "c" : "d": break;
  101. }
  102. ',
  103. '<?php
  104. switch ($a) {
  105. case $b ? "c" : "d"; break;
  106. }
  107. ',
  108. ),
  109. array(
  110. '<?php
  111. switch ($a) {
  112. case $b ? "c" : "this" ? "is" : "ugly":
  113. break;
  114. }
  115. ',
  116. '<?php
  117. switch ($a) {
  118. case $b ? "c" : "this" ? "is" : "ugly";
  119. break;
  120. }
  121. ',
  122. ),
  123. array(
  124. '<?php
  125. switch($a) {
  126. case (int) $a < 1: {
  127. echo "leave ; alone";
  128. break;
  129. }
  130. case ($a < 2)/* test */ : {
  131. echo "fix 1";
  132. break;
  133. }
  134. case (3):{
  135. echo "fix 2";
  136. break;
  137. }
  138. case /**/(/**/ // test
  139. 4
  140. /**/)//
  141. /**/: {
  142. echo "fix 3";
  143. break;
  144. }
  145. case (((int)$b) + 4.1) : {
  146. echo "fix 4";
  147. break;
  148. }
  149. case ($b + 1) * 2 : {;;
  150. echo "leave alone";
  151. break;
  152. }
  153. }
  154. ',
  155. '<?php
  156. switch($a) {
  157. case (int) $a < 1; {
  158. echo "leave ; alone";
  159. break;
  160. }
  161. case ($a < 2)/* test */ ; {
  162. echo "fix 1";
  163. break;
  164. }
  165. case (3);{
  166. echo "fix 2";
  167. break;
  168. }
  169. case /**/(/**/ // test
  170. 4
  171. /**/)//
  172. /**/; {
  173. echo "fix 3";
  174. break;
  175. }
  176. case (((int)$b) + 4.1) ; {
  177. echo "fix 4";
  178. break;
  179. }
  180. case ($b + 1) * 2 ; {;;
  181. echo "leave alone";
  182. break;
  183. }
  184. }
  185. ',
  186. ),
  187. );
  188. }
  189. }