MultilineCommentOpeningClosingFixerTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. /*
  3. * This file is part of PHP CS Fixer.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. * Dariusz Rumiński <dariusz.ruminski@gmail.com>
  7. *
  8. * This source file is subject to the MIT license that is bundled
  9. * with this source code in the file LICENSE.
  10. */
  11. namespace PhpCsFixer\Tests\Fixer\Comment;
  12. use PhpCsFixer\Tests\Test\AbstractFixerTestCase;
  13. /**
  14. * @author Filippo Tessarotto <zoeslam@gmail.com>
  15. *
  16. * @internal
  17. *
  18. * @covers \PhpCsFixer\Fixer\Comment\MultilineCommentOpeningClosingFixer
  19. */
  20. final class MultilineCommentOpeningClosingFixerTest extends AbstractFixerTestCase
  21. {
  22. /**
  23. * @param string $expected
  24. * @param null|string $input
  25. *
  26. * @dataProvider provideDocblocksCases
  27. */
  28. public function testFix($expected, $input = null)
  29. {
  30. $this->doTest($expected, $input);
  31. }
  32. public function provideDocblocksCases()
  33. {
  34. return [
  35. ['<?php /** Opening DocBlock */'],
  36. [
  37. '<?php /* Opening Multiline comment */',
  38. '<?php /*** Opening Multiline comment */',
  39. ],
  40. [
  41. '<?php /*\ Opening false-DocBlock */',
  42. '<?php /**\ Opening false-DocBlock */',
  43. ],
  44. [
  45. '<?php /** Closing DocBlock */',
  46. '<?php /** Closing DocBlock ***/',
  47. ],
  48. [
  49. '<?php /* Closing Multiline comment */',
  50. '<?php /* Closing Multiline comment ***/',
  51. ],
  52. [
  53. <<<'EOT'
  54. <?php
  55. /*
  56. * WUT
  57. */
  58. EOT
  59. ,
  60. <<<'EOT'
  61. <?php
  62. /********
  63. * WUT
  64. ********/
  65. EOT
  66. ,
  67. ],
  68. [
  69. <<<'EOT'
  70. <?php
  71. /*\
  72. * False DocBlock
  73. */
  74. EOT
  75. ,
  76. <<<'EOT'
  77. <?php
  78. /**\
  79. * False DocBlock
  80. */
  81. EOT
  82. ,
  83. ],
  84. [
  85. <<<'EOT'
  86. <?php
  87. # Hash
  88. #*** Hash asterisk
  89. // Slash
  90. //*** Slash asterisk
  91. /*
  92. /**
  93. /***
  94. Weird multiline comment
  95. */
  96. EOT
  97. ,
  98. ],
  99. ];
  100. }
  101. }