SingleLineAfterImportsFixerTest.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  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 Ceeram <ceeram@cakephp.org>
  14. */
  15. class SingleLineAfterImportsFixerTest extends AbstractFixerTestBase
  16. {
  17. /**
  18. * @dataProvider provideCases
  19. */
  20. public function testFix($expected, $input = null)
  21. {
  22. $this->makeTest($expected, $input);
  23. }
  24. public function provideCases()
  25. {
  26. return array(
  27. array(
  28. '<?php
  29. namespace A\B;
  30. use D;
  31. class C {}
  32. ',
  33. '<?php
  34. namespace A\B;
  35. use D;
  36. class C {}
  37. ',
  38. ),
  39. array(
  40. '<?php
  41. namespace A\B;
  42. use D;
  43. class C {}
  44. ',
  45. '<?php
  46. namespace A\B;
  47. use D;
  48. class C {}
  49. ',
  50. ),
  51. array(
  52. '<?php
  53. namespace A\B;
  54. use D;
  55. use E;
  56. class C {}
  57. ',
  58. '<?php
  59. namespace A\B;
  60. use D;
  61. use E;
  62. class C {}
  63. ',
  64. ),
  65. array(
  66. '<?php
  67. namespace A\B;
  68. use D;
  69. class C {}
  70. ',
  71. '<?php
  72. namespace A\B;
  73. use D; class C {}
  74. ',
  75. ),
  76. array(
  77. '<?php
  78. namespace A\B;
  79. use D;
  80. use E;
  81. {
  82. class C {}
  83. }',
  84. '<?php
  85. namespace A\B;
  86. use D; use E; {
  87. class C {}
  88. }',
  89. ),
  90. array(
  91. '<?php
  92. namespace A\B;
  93. use D;
  94. use E;
  95. {
  96. class C {}
  97. }',
  98. '<?php
  99. namespace A\B;
  100. use D;
  101. use E; {
  102. class C {}
  103. }',
  104. ),
  105. array(
  106. '<?php
  107. namespace A\B {
  108. use D;
  109. use E;
  110. class C {}
  111. }',
  112. '<?php
  113. namespace A\B {
  114. use D; use E; class C {}
  115. }',
  116. ),
  117. array(
  118. '<?php
  119. namespace A\B;
  120. class C {
  121. use SomeTrait;
  122. }',
  123. ),
  124. array(
  125. '<?php
  126. $lambda = function () use (
  127. $arg
  128. ){
  129. return true;
  130. };',
  131. ),
  132. array(
  133. '<?php
  134. namespace A\B;
  135. use D, E;
  136. class C {
  137. }',
  138. '<?php
  139. namespace A\B;
  140. use D, E;
  141. class C {
  142. }',
  143. ),
  144. array(
  145. '<?php
  146. namespace A1;
  147. use B1; // need to import this !
  148. use B2;
  149. class C1 {}
  150. ',
  151. ),
  152. array(
  153. '<?php
  154. namespace A1;
  155. use B1;// need to import this !
  156. use B2;
  157. class C1 {}
  158. ',
  159. ),
  160. array(
  161. '<?php
  162. namespace A1;
  163. use B1; // need to import this !
  164. use B2;
  165. class C1 {}
  166. ',
  167. ),
  168. array(
  169. '<?php
  170. namespace A1;
  171. use B1;// need to import this !
  172. use B2;
  173. class C1 {}
  174. ',
  175. ),
  176. array(
  177. '<?php
  178. namespace A1;
  179. use B1; /** need to import this !*/
  180. use B2;
  181. class C1 {}
  182. ',
  183. ),
  184. array(
  185. '<?php
  186. namespace A1;
  187. use B1;// need to import this !
  188. use B2;
  189. class C1 {}
  190. ',
  191. ),
  192. array(
  193. '<?php
  194. namespace A1;
  195. use B1; // need to import this !
  196. use B2;
  197. class C1 {}
  198. ',
  199. '<?php
  200. namespace A1;
  201. use B1; // need to import this !
  202. use B2;
  203. class C1 {}
  204. ',
  205. ),
  206. array(
  207. '<?php
  208. namespace Foo;
  209. use Bar;
  210. use Baz;
  211. class Hello {}
  212. ',
  213. '<?php
  214. namespace Foo;
  215. use Bar;
  216. use Baz;
  217. class Hello {}
  218. ',
  219. ),
  220. array(
  221. '<?php
  222. class Hello {
  223. use SomeTrait;
  224. use Another;// ensure use statements for traits are not touched
  225. }
  226. ',
  227. ),
  228. array(
  229. '<?php
  230. namespace Foo {}
  231. namespace Bar {
  232. class Baz
  233. {
  234. use Aaa;
  235. }
  236. }
  237. ',
  238. ),
  239. );
  240. }
  241. }