Skip to content

Commit

Permalink
bug #17040 [Console] Avoid extra blank lines when rendering exception…
Browse files Browse the repository at this point in the history
…s (ogizanagi)

This PR was merged into the 2.3 branch.

Discussion
----------

[Console] Avoid extra blank lines when rendering exceptions

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Don't know if it can be considered as a bug fix as it is the behavior since a while (#9055), but I let you see by yourself the old vs new rendering:

![Console exception rendering](https://cloud.githubusercontent.com/assets/2211145/11857447/92cebfbe-a458-11e5-9d3d-6147b0338080.PNG)

Commits
-------

2e158df [Console] Avoid extra blank lines when rendering exceptions
  • Loading branch information
fabpot committed Dec 18, 2015
2 parents 68bd2c1 + 2e158df commit f371445
Show file tree
Hide file tree
Showing 9 changed files with 3 additions and 38 deletions.
7 changes: 3 additions & 4 deletions src/Symfony/Component/Console/Application.php
Expand Up @@ -673,6 +673,8 @@ public function asXml($namespace = null, $asDom = false)
*/
public function renderException($e, $output)
{
$output->writeln('');

do {
$title = sprintf(' [%s] ', get_class($e));

Expand All @@ -695,15 +697,14 @@ public function renderException($e, $output)
}
}

$messages = array('', '');
$messages = array();
$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)))));
foreach ($lines as $line) {
$messages[] = $formatter->format(sprintf('<error> %s %s</error>', $line[0], str_repeat(' ', $len - $line[1])));
}
$messages[] = $emptyLine;
$messages[] = '';
$messages[] = '';

$output->writeln($messages, OutputInterface::OUTPUT_RAW);

Expand All @@ -730,14 +731,12 @@ public function renderException($e, $output)
}

$output->writeln('');
$output->writeln('');
}
} while ($e = $e->getPrevious());

if (null !== $this->runningCommand) {
$output->writeln(sprintf('<info>%s</info>', sprintf($this->runningCommand->getSynopsis(), $this->getName())));
$output->writeln('');
$output->writeln('');
}
}

Expand Down
@@ -1,8 +1,6 @@



[InvalidArgumentException]
Command "foo" is not defined.



@@ -1,11 +1,8 @@



[InvalidArgumentException]
The "--foo" option does not exist.



list [--xml] [--raw] [--format="..."] [namespace]


@@ -1,27 +1,18 @@



[Exception]
Third exception comment






[Exception]
Second exception comment






[Exception]
First exception <p>this is html</p>



foo3:bar


@@ -1,27 +1,18 @@


 
 [Exception] 
 Third exception comment 
 




 
 [Exception] 
 Second exception comment 
 




 
 [Exception] 
 First exception <p>this is html</p> 
 


foo3:bar


@@ -1,9 +1,7 @@



[InvalidArgumentException]
Command "foo" is not define
d.



@@ -1,11 +1,8 @@



[Exception]
エラーメッセージ



foo


@@ -1,11 +1,8 @@


 
 [Exception] 
 エラーメッセージ 
 


foo


@@ -1,12 +1,9 @@



[Exception]
コマンドの実行中にエラーが
発生しました。



foo


0 comments on commit f371445

Please sign in to comment.