Browse Source

bug #5563 Priority fix: SingleSpaceAfterConstructFixer must run before BracesFixer (kubawerlos)

This PR was merged into the 2.18 branch.

Discussion
----------

Priority fix: SingleSpaceAfterConstructFixer must run before BracesFixer

Fixes https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5559

Commits
-------

4e7704234 Priority fix: SingleSpaceAfterConstructFixer must run before BracesFixer
Dariusz Ruminski 4 years ago
parent
commit
d617223de6

+ 1 - 1
src/Fixer/Basic/BracesFixer.php

@@ -126,7 +126,7 @@ class Foo
      * {@inheritdoc}
      *
      * Must run before ArrayIndentationFixer, MethodArgumentSpaceFixer, MethodChainingIndentationFixer.
-     * Must run after ClassAttributesSeparationFixer, ElseifFixer, LineEndingFixer, MethodSeparationFixer, NoAlternativeSyntaxFixer, NoEmptyStatementFixer, NoUselessElseFixer, SingleTraitInsertPerStatementFixer.
+     * Must run after ClassAttributesSeparationFixer, ElseifFixer, LineEndingFixer, MethodSeparationFixer, NoAlternativeSyntaxFixer, NoEmptyStatementFixer, NoUselessElseFixer, SingleSpaceAfterConstructFixer, SingleTraitInsertPerStatementFixer.
      */
     public function getPriority()
     {

+ 10 - 0
src/Fixer/LanguageConstruct/SingleSpaceAfterConstructFixer.php

@@ -175,6 +175,16 @@ yield  from  baz();
         );
     }
 
+    /**
+     * {@inheritdoc}
+     *
+     * Must run before BracesFixer.
+     */
+    public function getPriority()
+    {
+        return 36;
+    }
+
     /**
      * {@inheritdoc}
      */

+ 1 - 0
tests/AutoReview/FixerFactoryTest.php

@@ -266,6 +266,7 @@ final class FixerFactoryTest extends TestCase
             [$fixers['single_import_per_statement'], $fixers['no_unused_imports']],
             [$fixers['single_import_per_statement'], $fixers['space_after_semicolon']],
             [$fixers['single_line_throw'], $fixers['concat_space']],
+            [$fixers['single_space_after_construct'], $fixers['braces']],
             [$fixers['single_trait_insert_per_statement'], $fixers['braces']],
             [$fixers['single_trait_insert_per_statement'], $fixers['space_after_semicolon']],
             [$fixers['standardize_increment'], $fixers['increment_style']],

+ 19 - 0
tests/Fixtures/Integration/priority/single_space_after_construct,braces.test

@@ -0,0 +1,19 @@
+--TEST--
+Integration of fixers: single_space_after_construct,braces.
+--RULESET--
+{ "single_space_after_construct": true, "braces": {"position_after_control_structures": "next"}}
+--EXPECT--
+<?php
+if (true)
+{
+}
+else
+{
+}
+
+--INPUT--
+<?php
+if (true) {
+}
+else {
+}