diff --git a/src/Symfony/Component/Console/Style/SymfonyStyle.php b/src/Symfony/Component/Console/Style/SymfonyStyle.php index 014a2cb1d1..89df11cc90 100644 --- a/src/Symfony/Component/Console/Style/SymfonyStyle.php +++ b/src/Symfony/Component/Console/Style/SymfonyStyle.php @@ -110,7 +110,7 @@ class SymfonyStyle extends OutputStyle $this->autoPrependBlock(); $this->writeln(array( sprintf('%s', $message), - sprintf('%s', str_repeat('=', strlen($message))), + sprintf('%s', str_repeat('=', Helper::strlenWithoutDecoration($this->getFormatter(), $message))), )); $this->newLine(); } @@ -123,7 +123,7 @@ class SymfonyStyle extends OutputStyle $this->autoPrependBlock(); $this->writeln(array( sprintf('%s', $message), - sprintf('%s', str_repeat('-', strlen($message))), + sprintf('%s', str_repeat('-', Helper::strlenWithoutDecoration($this->getFormatter(), $message))), )); $this->newLine(); } @@ -149,14 +149,22 @@ class SymfonyStyle extends OutputStyle { $this->autoPrependText(); - if (!is_array($message)) { - $this->writeln(sprintf(' // %s', $message)); - - return; + $messages = is_array($message) ? array_values($message) : array($message); + foreach ($messages as $message) { + $this->writeln(sprintf(' %s', $message)); } + } - foreach ($message as $element) { - $this->text($element); + /** + * {@inheritdoc} + */ + public function comment($message) + { + $this->autoPrependText(); + + $messages = is_array($message) ? array_values($message) : array($message); + foreach ($messages as $message) { + $this->writeln(sprintf(' // %s', $message)); } } diff --git a/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php b/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php index 4543ad8cd6..92f358204c 100644 --- a/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php +++ b/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php @@ -26,4 +26,12 @@ return function (InputInterface $input, OutputInterface $output) { 'Lorem ipsum dolor sit amet', 'consectetur adipiscing elit', )); + + $output->newLine(); + + $output->write('Lorem ipsum dolor sit amet'); + $output->comment(array( + 'Lorem ipsum dolor sit amet', + 'consectetur adipiscing elit', + )); }; diff --git a/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt b/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt index 910240fbfd..738eb9e606 100644 --- a/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt +++ b/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt @@ -6,6 +6,10 @@ Lorem ipsum dolor sit amet * Lorem ipsum dolor sit amet * consectetur adipiscing elit +Lorem ipsum dolor sit amet + Lorem ipsum dolor sit amet + consectetur adipiscing elit + Lorem ipsum dolor sit amet // Lorem ipsum dolor sit amet // consectetur adipiscing elit diff --git a/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt b/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt index ab18e5dc76..ecea9778b1 100644 --- a/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt +++ b/src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt @@ -2,4 +2,4 @@ Title ===== - // Duis aute irure dolor in reprehenderit in voluptate velit esse + Duis aute irure dolor in reprehenderit in voluptate velit esse