1
0
Fork 0

Support bg colors and more clearing values in html output formatter

pull/4141/head
Jordi Boggiano 2015-06-12 17:23:18 +01:00
parent 29dbc3835f
commit 89540c5690
2 changed files with 8 additions and 4 deletions

View File

@ -59,7 +59,8 @@ class HtmlOutputFormatter extends OutputFormatter
{
$formatted = parent::format($message);
return preg_replace_callback("{\033\[([0-9;]+)m(.*?)\033\[(?:39|49|0|22|24|25|27|28)m}s", array($this, 'formatHtml'), $formatted);
$clearEscapeCodes = '(?:39|49|0|22|24|25|27|28)';
return preg_replace_callback("{\033\[([0-9;]+)m(.*?)\033\[(?:".$clearEscapeCodes.";)*?".$clearEscapeCodes."m}s", array($this, 'formatHtml'), $formatted);
}
private function formatHtml($matches)

View File

@ -13,16 +13,19 @@
namespace Composer;
use Composer\Console\HtmlOutputFormatter;
use Symfony\Component\Console\Formatter\OutputFormatterStyle;
class HtmlOutputFormatterTest extends \PHPUnit_Framework_TestCase
{
public function testFormatting()
{
$formatter = new HtmlOutputFormatter;
$formatter = new HtmlOutputFormatter(array(
'warning' => new OutputFormatterStyle('black', 'yellow'),
));
return $this->assertEquals(
'Reading composer.json of <span style="color:green;">https://github.com/ccqgithub/sherry-php</span> (<span style="color:yellow;">master</span>)',
$formatter->format('Reading composer.json of <info>https://github.com/ccqgithub/sherry-php</info> (<comment>master</comment>)')
'text <span style="color:green;">green</span> <span style="color:yellow;">yellow</span> <span style="color:black;background-color:yellow;">black w/ yello bg</span>',
$formatter->format('text <info>green</info> <comment>yellow</comment> <warning>black w/ yello bg</warning>')
);
}
}