Browse Source

PhpUnitConstructFixer - multiple asserts bug

Kuba Werłos 7 years ago
parent
commit
70ad11f90d

+ 2 - 2
src/Fixer/PhpUnit/PhpUnitConstructFixer.php

@@ -203,14 +203,14 @@ $this->assertNotSame(null, $d);
         $firstParameterToken = $tokens[$sequenceIndexes[4]];
         $firstParameterToken = $tokens[$sequenceIndexes[4]];
 
 
         if (!$firstParameterToken->isNativeConstant()) {
         if (!$firstParameterToken->isNativeConstant()) {
-            return null;
+            return $sequenceIndexes[4];
         }
         }
 
 
         $sequenceIndexes[5] = $tokens->getNextMeaningfulToken($sequenceIndexes[4]);
         $sequenceIndexes[5] = $tokens->getNextMeaningfulToken($sequenceIndexes[4]);
 
 
         // return if first method argument is an expression, not value
         // return if first method argument is an expression, not value
         if (!$tokens[$sequenceIndexes[5]]->equals(',')) {
         if (!$tokens[$sequenceIndexes[5]]->equals(',')) {
-            return null;
+            return $sequenceIndexes[5];
         }
         }
 
 
         $tokens[$sequenceIndexes[2]] = new Token(array(T_STRING, $map[$firstParameterToken->getContent()]));
         $tokens[$sequenceIndexes[2]] = new Token(array(T_STRING, $map[$firstParameterToken->getContent()]));

+ 8 - 0
tests/Fixer/PhpUnit/PhpUnitConstructFixerTest.php

@@ -117,6 +117,14 @@ final class PhpUnitConstructFixerTest extends AbstractFixerTestCase
         "foo" . $bar#
         "foo" . $bar#
     );',
     );',
             ),
             ),
+            array(
+                '<?php $this->assertSame("a", $a); $this->assertTrue($b);',
+                '<?php $this->assertSame("a", $a); $this->assertSame(true, $b);',
+            ),
+            array(
+                '<?php $this->assertSame(true || $a, $b); $this->assertTrue($c);',
+                '<?php $this->assertSame(true || $a, $b); $this->assertSame(true, $c);',
+            ),
         );
         );
 
 
         return array_merge(
         return array_merge(