Просмотр исходного кода

AutoReview - watch that code samples are unique

Dariusz Ruminski 7 лет назад
Родитель
Сommit
0b25f304d9
1 измененных файлов с 11 добавлено и 3 удалено
  1. 11 3
      tests/AutoReview/FixerTest.php

+ 11 - 3
tests/AutoReview/FixerTest.php

@@ -49,9 +49,7 @@ final class FixerTest extends TestCase
         $this->assertNotEmpty($samples, sprintf('[%s] Code samples are required.', $fixer->getName()));
 
         $dummyFileInfo = new StdinFileInfo();
-        $sampleCounter = 0;
-        foreach ($samples as $sample) {
-            ++$sampleCounter;
+        foreach ($samples as $sampleCounter => $sample) {
             $this->assertInstanceOf('PhpCsFixer\FixerDefinition\CodeSampleInterface', $sample, sprintf('[%s] Sample #%d', $fixer->getName(), $sampleCounter));
             $code = $sample->getCode();
             $this->assertStringIsNotEmpty($code, sprintf('[%s] Sample #%d', $fixer->getName(), $sampleCounter));
@@ -77,6 +75,16 @@ final class FixerTest extends TestCase
                 $tokens
             );
             $this->assertTrue($tokens->isChanged(), sprintf('[%s] Sample #%d is not changed during fixing.', $fixer->getName(), $sampleCounter));
+
+            $duplicatedCodeSample = array_search(
+                $sample,
+                array_slice($samples, 0, $sampleCounter),
+                false
+            );
+            $this->assertFalse(
+                $duplicatedCodeSample,
+                sprintf('[%s] Code sample #%d duplicates #%d.', $fixer->getName(), $sampleCounter, $duplicatedCodeSample)
+            );
         }
 
         if ($fixer->isRisky()) {