Browse Source

Fix order of BracesFixer and ClassDefinitionFixer

Teemu Koskinen 4 years ago
parent
commit
01d34da200

+ 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, SingleSpaceAfterConstructFixer, SingleTraitInsertPerStatementFixer.
+     * Must run after ClassAttributesSeparationFixer, ClassDefinitionFixer, ElseifFixer, LineEndingFixer, MethodSeparationFixer, NoAlternativeSyntaxFixer, NoEmptyStatementFixer, NoUselessElseFixer, SingleSpaceAfterConstructFixer, SingleTraitInsertPerStatementFixer.
      */
     public function getPriority()
     {

+ 10 - 0
src/Fixer/ClassNotation/ClassDefinitionFixer.php

@@ -97,6 +97,16 @@ interface Bar extends
         );
     }
 
+    /**
+     * {@inheritdoc}
+     *
+     * Must run before BracesFixer.
+     */
+    public function getPriority()
+    {
+        return 36;
+    }
+
     /**
      * {@inheritdoc}
      */

+ 1 - 0
tests/AutoReview/FixerFactoryTest.php

@@ -76,6 +76,7 @@ final class FixerFactoryTest extends TestCase
             [$fixers['braces'], $fixers['method_chaining_indentation']],
             [$fixers['class_attributes_separation'], $fixers['braces']],
             [$fixers['class_attributes_separation'], $fixers['indentation_type']],
+            [$fixers['class_definition'], $fixers['braces']],
             [$fixers['class_keyword_remove'], $fixers['no_unused_imports']],
             [$fixers['combine_consecutive_issets'], $fixers['multiline_whitespace_before_semicolons']],
             [$fixers['combine_consecutive_issets'], $fixers['no_singleline_whitespace_before_semicolons']],

+ 15 - 0
tests/Fixtures/Integration/priority/class_definition,braces.test

@@ -0,0 +1,15 @@
+--TEST--
+Integration of fixers: class_definition,braces.
+--RULESET--
+{"class_definition": true, "braces": {"position_after_functions_and_oop_constructs": "same"}}
+--EXPECT--
+<?php
+
+class Foo {
+}
+
+--INPUT--
+<?php
+
+class Foo{
+}