[Console] Avoid extra blank lines when rendering exceptions

This commit is contained in:
Maxime Steinhausser 2015-12-17 00:26:14 +01:00
parent b23c9a3b5b
commit 2e158df2c7
9 changed files with 3 additions and 38 deletions

View File

@ -673,6 +673,8 @@ class Application
*/ */
public function renderException($e, $output) public function renderException($e, $output)
{ {
$output->writeln('');
do { do {
$title = sprintf(' [%s] ', get_class($e)); $title = sprintf(' [%s] ', get_class($e));
@ -695,7 +697,7 @@ class Application
} }
} }
$messages = array('', ''); $messages = array();
$messages[] = $emptyLine = $formatter->format(sprintf('<error>%s</error>', str_repeat(' ', $len))); $messages[] = $emptyLine = $formatter->format(sprintf('<error>%s</error>', str_repeat(' ', $len)));
$messages[] = $formatter->format(sprintf('<error>%s%s</error>', $title, str_repeat(' ', max(0, $len - $this->stringWidth($title))))); $messages[] = $formatter->format(sprintf('<error>%s%s</error>', $title, str_repeat(' ', max(0, $len - $this->stringWidth($title)))));
foreach ($lines as $line) { foreach ($lines as $line) {
@ -703,7 +705,6 @@ class Application
} }
$messages[] = $emptyLine; $messages[] = $emptyLine;
$messages[] = ''; $messages[] = '';
$messages[] = '';
$output->writeln($messages, OutputInterface::OUTPUT_RAW); $output->writeln($messages, OutputInterface::OUTPUT_RAW);
@ -730,14 +731,12 @@ class Application
} }
$output->writeln(''); $output->writeln('');
$output->writeln('');
} }
} while ($e = $e->getPrevious()); } while ($e = $e->getPrevious());
if (null !== $this->runningCommand) { if (null !== $this->runningCommand) {
$output->writeln(sprintf('<info>%s</info>', sprintf($this->runningCommand->getSynopsis(), $this->getName()))); $output->writeln(sprintf('<info>%s</info>', sprintf($this->runningCommand->getSynopsis(), $this->getName())));
$output->writeln(''); $output->writeln('');
$output->writeln('');
} }
} }

View File

@ -1,8 +1,6 @@
[InvalidArgumentException] [InvalidArgumentException]
Command "foo" is not defined. Command "foo" is not defined.

View File

@ -1,11 +1,8 @@
[InvalidArgumentException] [InvalidArgumentException]
The "--foo" option does not exist. The "--foo" option does not exist.
list [--xml] [--raw] [--format="..."] [namespace] list [--xml] [--raw] [--format="..."] [namespace]

View File

@ -1,27 +1,18 @@
[Exception] [Exception]
Third exception comment Third exception comment
[Exception] [Exception]
Second exception comment Second exception comment
[Exception] [Exception]
First exception <p>this is html</p> First exception <p>this is html</p>
foo3:bar foo3:bar

View File

@ -1,27 +1,18 @@
   
 [Exception]   [Exception] 
 Third exception comment   Third exception comment 
   
   
 [Exception]   [Exception] 
 Second exception comment   Second exception comment 
   
   
 [Exception]   [Exception] 
 First exception <p>this is html</p>   First exception <p>this is html</p> 
   
foo3:bar foo3:bar

View File

@ -1,9 +1,7 @@
[InvalidArgumentException] [InvalidArgumentException]
Command "foo" is not define Command "foo" is not define
d. d.

View File

@ -1,11 +1,8 @@
[Exception] [Exception]
エラーメッセージ エラーメッセージ
foo foo

View File

@ -1,11 +1,8 @@
   
 [Exception]   [Exception] 
 エラーメッセージ   エラーメッセージ 
   
foo foo

View File

@ -1,12 +1,9 @@
[Exception] [Exception]
コマンドの実行中にエラーが コマンドの実行中にエラーが
発生しました。 発生しました。
foo foo