Browse Source

bug: Fix type error when using paths intersection mode (#6734)

Julien Falque 2 years ago
parent
commit
09e55701e1
2 changed files with 16 additions and 3 deletions
  1. 1 2
      src/Console/Command/FixCommand.php
  2. 15 1
      tests/Console/Command/FixCommandTest.php

+ 1 - 2
src/Console/Command/FixCommand.php

@@ -272,7 +272,7 @@ EOF
         }
 
         $progressType = $resolver->getProgress();
-        $finder = $resolver->getFinder();
+        $finder = new \ArrayIterator(iterator_to_array($resolver->getFinder()));
 
         if (null !== $stdErr && $resolver->configFinderIsOverridden()) {
             $stdErr->writeln(
@@ -283,7 +283,6 @@ EOF
         if ('none' === $progressType || null === $stdErr) {
             $progressOutput = new NullOutput();
         } else {
-            $finder = new \ArrayIterator(iterator_to_array($finder));
             $progressOutput = new ProcessOutput(
                 $stdErr,
                 $this->eventDispatcher,

+ 15 - 1
tests/Console/Command/FixCommandTest.php

@@ -19,6 +19,7 @@ use PhpCsFixer\Console\Application;
 use PhpCsFixer\Console\Command\FixCommand;
 use PhpCsFixer\Tests\TestCase;
 use PhpCsFixer\ToolInfo;
+use Symfony\Component\Console\Command\Command;
 use Symfony\Component\Console\Output\OutputInterface;
 use Symfony\Component\Console\Tester\CommandTester;
 
@@ -29,6 +30,19 @@ use Symfony\Component\Console\Tester\CommandTester;
  */
 final class FixCommandTest extends TestCase
 {
+    public function testIntersectionPathMode(): void
+    {
+        $cmdTester = $this->doTestExecute([
+            '--path-mode' => 'intersection',
+            '--show-progress' => 'none',
+        ]);
+
+        static::assertSame(
+            Command::SUCCESS,
+            $cmdTester->getStatusCode()
+        );
+    }
+
     public function testEmptyRulesValue(): void
     {
         $this->expectException(
@@ -93,7 +107,7 @@ final class FixCommandTest extends TestCase
         return [
             'path' => [__FILE__],
             '--path-mode' => 'override',
-            '--allow-risky' => true,
+            '--allow-risky' => 'yes',
             '--dry-run' => true,
             '--using-cache' => 'no',
             '--show-progress' => 'none',