Browse Source

Merge branch 'master' into 3.0

* master:
  Use lowercase mikey179/vfsStream in composer.json
  Fixed TypeShortNameResolverTest::testResolver
  Unset the auxillary variable $a
  Fix output escaping of diff for text format when line is not changed
SpacePossum 6 years ago
parent
commit
88d00dfd33

+ 1 - 1
composer.json

@@ -35,7 +35,7 @@
         "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0",
         "justinrainbow/json-schema": "^5.0",
         "keradus/cli-executor": "^1.2",
-        "mikey179/vfsStream": "^1.6",
+        "mikey179/vfsstream": "^1.6",
         "php-coveralls/php-coveralls": "^2.1",
         "php-cs-fixer/accessible-object": "^1.0",
         "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.0.1",

+ 2 - 0
php-cs-fixer

@@ -58,6 +58,8 @@ if ($require) {
     } else {
         require_once __DIR__.'/vendor/autoload.php';
     }
+
+    unset($a);
 }
 unset($require);
 

+ 11 - 4
src/Differ/DiffConsoleFormatter.php

@@ -62,9 +62,10 @@ final class DiffConsoleFormatter
             implode(
                 PHP_EOL,
                 array_map(
-                    function ($string) use ($isDecorated, $lineTemplate) {
+                    static function ($line) use ($isDecorated, $lineTemplate) {
                         if ($isDecorated) {
-                            $string = Preg::replaceCallback(
+                            $count = 0;
+                            $line = Preg::replaceCallback(
                                 [
                                     '/^(\+.*)/',
                                     '/^(\-.*)/',
@@ -81,11 +82,17 @@ final class DiffConsoleFormatter
 
                                     return sprintf('<fg=%s>%s</fg=%s>', $colour, OutputFormatter::escape($matches[0]), $colour);
                                 },
-                                $string
+                                $line,
+                                1,
+                                $count
                             );
+
+                            if (0 === $count) {
+                                $line = OutputFormatter::escape($line);
+                            }
                         }
 
-                        return sprintf($lineTemplate, $string);
+                        return sprintf($lineTemplate, $line);
                     },
                     Preg::split('#\R#u', $diff)
                 )

+ 2 - 0
tests/Fixtures/FixCommand/TextDiffTestInput.php

@@ -22,5 +22,7 @@ final class TextDiffTestInput
     public function foo($output)
     {
         $output->writeln('<error>'.(int)$output.'</error>');
+        $output->writeln('<error> TEST </error>');
+        $output->writeln('<error>'.(int)$output.'</error>');
     }
 }

+ 3 - 0
tests/TextDiffTest.php

@@ -70,6 +70,9 @@ final class TextDiffTest extends TestCase
         $expected = <<<'TEST'
 %A$output->writeln('<error>'.(int)$output.'</error>');%A
 %A$output->writeln('<error>'.(int) $output.'</error>');%A
+%A$output->writeln('<error> TEST </error>');%A
+%A$output->writeln('<error>'.(int)$output.'</error>');%A
+%A$output->writeln('<error>'.(int) $output.'</error>');%A
 TEST;
         $cases = [];
         foreach (['txt', 'xml', 'junit'] as $format) {

+ 2 - 2
tests/Tokenizer/Resolver/TypeShortNameResolverTest.php

@@ -42,12 +42,12 @@ final class TypeShortNameResolverTest extends TestCase
     {
         return [
             [
-                '<?php',
+                '<?php ',
                 'SomeType',
                 'SomeType',
             ],
             [
-                '<?php',
+                '<?php ',
                 'string',
                 'string',
             ],