Skip to content

Commit ebac415

Browse files
committed
Additional tests to include all themes and reversed colouring.
Unit tests now provide 100% code coverage.
1 parent d3e0ca3 commit ebac415

9 files changed

+178
-124
lines changed

SensioLabs/AnsiConverter/Tests/AlternativeTheme/AnsiToHtmlConverterWithAlternativeCSSPrefixTest.php

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace SensioLabs\AnsiConverter\Tests\AlternativeTheme;
1313

1414
use SensioLabs\AnsiConverter\AnsiToHtmlConverter;
15-
use SensioLabs\AnsiConverter\Theme\SolarizedXTermTheme;
15+
use SensioLabs\AnsiConverter\Theme\SolarizedTheme;
1616

1717
class AnsiToHtmlConverterWithAlternativeCSSPrefixTest extends \PHPUnit_Framework_TestCase
1818
{
@@ -21,46 +21,46 @@ class AnsiToHtmlConverterWithAlternativeCSSPrefixTest extends \PHPUnit_Framework
2121
*/
2222
public function testConvert($expectedOutput, $expectedCss, $input)
2323
{
24-
$converter = new AnsiToHtmlConverter(new SolarizedXTermTheme(), false, 'UTF-8', 'alternative_prefix');
24+
$converter = new AnsiToHtmlConverter(new SolarizedTheme(), false, 'UTF-8', 'alternative_prefix');
2525
$this->assertEquals($expectedOutput, $converter->convert($input));
2626
$this->assertEquals($expectedCss, $converter->getTheme()->asCss());
2727
}
2828

2929
public function getConvertData()
3030
{
3131
$css = <<< 'END_CSS'
32-
.alternative_prefix_fg_black { color: #262626 }
33-
.alternative_prefix_bg_black { background-color: #262626 }
34-
.alternative_prefix_fg_red { color: #d70000 }
35-
.alternative_prefix_bg_red { background-color: #d70000 }
36-
.alternative_prefix_fg_green { color: #5f8700 }
37-
.alternative_prefix_bg_green { background-color: #5f8700 }
38-
.alternative_prefix_fg_yellow { color: #af8700 }
39-
.alternative_prefix_bg_yellow { background-color: #af8700 }
40-
.alternative_prefix_fg_blue { color: #0087ff }
41-
.alternative_prefix_bg_blue { background-color: #0087ff }
42-
.alternative_prefix_fg_magenta { color: #af005f }
43-
.alternative_prefix_bg_magenta { background-color: #af005f }
44-
.alternative_prefix_fg_cyan { color: #00afaf }
45-
.alternative_prefix_bg_cyan { background-color: #00afaf }
46-
.alternative_prefix_fg_white { color: #e4e4e4 }
47-
.alternative_prefix_bg_white { background-color: #e4e4e4 }
48-
.alternative_prefix_fg_brblack { color: #1c1c1c }
49-
.alternative_prefix_bg_brblack { background-color: #1c1c1c }
50-
.alternative_prefix_fg_brred { color: #d75f00 }
51-
.alternative_prefix_bg_brred { background-color: #d75f00 }
52-
.alternative_prefix_fg_brgreen { color: #585858 }
53-
.alternative_prefix_bg_brgreen { background-color: #585858 }
54-
.alternative_prefix_fg_bryellow { color: #626262 }
55-
.alternative_prefix_bg_bryellow { background-color: #626262 }
56-
.alternative_prefix_fg_brblue { color: #808080 }
57-
.alternative_prefix_bg_brblue { background-color: #808080 }
58-
.alternative_prefix_fg_brmagenta { color: #5f5faf }
59-
.alternative_prefix_bg_brmagenta { background-color: #5f5faf }
60-
.alternative_prefix_fg_brcyan { color: #8a8a8a }
61-
.alternative_prefix_bg_brcyan { background-color: #8a8a8a }
62-
.alternative_prefix_fg_brwhite { color: #ffffd7 }
63-
.alternative_prefix_bg_brwhite { background-color: #ffffd7 }
32+
.alternative_prefix_fg_black { color: #073642 }
33+
.alternative_prefix_bg_black { background-color: #073642 }
34+
.alternative_prefix_fg_red { color: #dc322f }
35+
.alternative_prefix_bg_red { background-color: #dc322f }
36+
.alternative_prefix_fg_green { color: #859900 }
37+
.alternative_prefix_bg_green { background-color: #859900 }
38+
.alternative_prefix_fg_yellow { color: #b58900 }
39+
.alternative_prefix_bg_yellow { background-color: #b58900 }
40+
.alternative_prefix_fg_blue { color: #268bd2 }
41+
.alternative_prefix_bg_blue { background-color: #268bd2 }
42+
.alternative_prefix_fg_magenta { color: #d33682 }
43+
.alternative_prefix_bg_magenta { background-color: #d33682 }
44+
.alternative_prefix_fg_cyan { color: #2aa198 }
45+
.alternative_prefix_bg_cyan { background-color: #2aa198 }
46+
.alternative_prefix_fg_white { color: #eee8d5 }
47+
.alternative_prefix_bg_white { background-color: #eee8d5 }
48+
.alternative_prefix_fg_brblack { color: #002b36 }
49+
.alternative_prefix_bg_brblack { background-color: #002b36 }
50+
.alternative_prefix_fg_brred { color: #cb4b16 }
51+
.alternative_prefix_bg_brred { background-color: #cb4b16 }
52+
.alternative_prefix_fg_brgreen { color: #586e75 }
53+
.alternative_prefix_bg_brgreen { background-color: #586e75 }
54+
.alternative_prefix_fg_bryellow { color: #657b83 }
55+
.alternative_prefix_bg_bryellow { background-color: #657b83 }
56+
.alternative_prefix_fg_brblue { color: #839496 }
57+
.alternative_prefix_bg_brblue { background-color: #839496 }
58+
.alternative_prefix_fg_brmagenta { color: #6c71c4 }
59+
.alternative_prefix_bg_brmagenta { background-color: #6c71c4 }
60+
.alternative_prefix_fg_brcyan { color: #93a1a1 }
61+
.alternative_prefix_bg_brcyan { background-color: #93a1a1 }
62+
.alternative_prefix_fg_brwhite { color: #fdf6e3 }
63+
.alternative_prefix_bg_brwhite { background-color: #fdf6e3 }
6464
.alternative_prefix_underlined { text-decoration: underlined }
6565
END_CSS;
6666

@@ -92,6 +92,12 @@ public function getConvertData()
9292

9393
// non valid unicode codepoints substitution (only available with PHP >= 5.4)
9494
PHP_VERSION_ID < 50400 ?: array('<span class="alternative_prefix_bg_black alternative_prefix_fg_white">foo '."\xEF\xBF\xBD".'</span>', $css, "foo \xF4\xFF\xFF\xFF"),
95+
96+
// Yellow on green.
97+
array('<span class="alternative_prefix_bg_green alternative_prefix_fg_yellow">foo</span>', $css, "\e[33;42mfoo\e[0m"),
98+
99+
// Yellow on green - reversed.
100+
array('<span class="alternative_prefix_bg_yellow alternative_prefix_fg_green">foo</span>', $css, "\e[33;42;7mfoo\e[0m"),
95101
);
96102
}
97103
}

SensioLabs/AnsiConverter/Tests/AlternativeTheme/AnsiToHtmlConverterWithClassesTest.php

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace SensioLabs\AnsiConverter\Tests\AlternativeTheme;
1313

1414
use SensioLabs\AnsiConverter\AnsiToHtmlConverter;
15-
use SensioLabs\AnsiConverter\Theme\SolarizedXTermTheme;
15+
use SensioLabs\AnsiConverter\Theme\SolarizedTheme;
1616

1717
class AnsiToHtmlConverterWithClassesTest extends \PHPUnit_Framework_TestCase
1818
{
@@ -21,46 +21,46 @@ class AnsiToHtmlConverterWithClassesTest extends \PHPUnit_Framework_TestCase
2121
*/
2222
public function testConvert($expectedOutput, $expectedCss, $input)
2323
{
24-
$converter = new AnsiToHtmlConverter(new SolarizedXTermTheme(), false);
24+
$converter = new AnsiToHtmlConverter(new SolarizedTheme(), false);
2525
$this->assertEquals($expectedOutput, $converter->convert($input));
2626
$this->assertEquals($expectedCss, $converter->getTheme()->asCss());
2727
}
2828

2929
public function getConvertData()
3030
{
3131
$css = <<< 'END_CSS'
32-
.ansi_color_fg_black { color: #262626 }
33-
.ansi_color_bg_black { background-color: #262626 }
34-
.ansi_color_fg_red { color: #d70000 }
35-
.ansi_color_bg_red { background-color: #d70000 }
36-
.ansi_color_fg_green { color: #5f8700 }
37-
.ansi_color_bg_green { background-color: #5f8700 }
38-
.ansi_color_fg_yellow { color: #af8700 }
39-
.ansi_color_bg_yellow { background-color: #af8700 }
40-
.ansi_color_fg_blue { color: #0087ff }
41-
.ansi_color_bg_blue { background-color: #0087ff }
42-
.ansi_color_fg_magenta { color: #af005f }
43-
.ansi_color_bg_magenta { background-color: #af005f }
44-
.ansi_color_fg_cyan { color: #00afaf }
45-
.ansi_color_bg_cyan { background-color: #00afaf }
46-
.ansi_color_fg_white { color: #e4e4e4 }
47-
.ansi_color_bg_white { background-color: #e4e4e4 }
48-
.ansi_color_fg_brblack { color: #1c1c1c }
49-
.ansi_color_bg_brblack { background-color: #1c1c1c }
50-
.ansi_color_fg_brred { color: #d75f00 }
51-
.ansi_color_bg_brred { background-color: #d75f00 }
52-
.ansi_color_fg_brgreen { color: #585858 }
53-
.ansi_color_bg_brgreen { background-color: #585858 }
54-
.ansi_color_fg_bryellow { color: #626262 }
55-
.ansi_color_bg_bryellow { background-color: #626262 }
56-
.ansi_color_fg_brblue { color: #808080 }
57-
.ansi_color_bg_brblue { background-color: #808080 }
58-
.ansi_color_fg_brmagenta { color: #5f5faf }
59-
.ansi_color_bg_brmagenta { background-color: #5f5faf }
60-
.ansi_color_fg_brcyan { color: #8a8a8a }
61-
.ansi_color_bg_brcyan { background-color: #8a8a8a }
62-
.ansi_color_fg_brwhite { color: #ffffd7 }
63-
.ansi_color_bg_brwhite { background-color: #ffffd7 }
32+
.ansi_color_fg_black { color: #073642 }
33+
.ansi_color_bg_black { background-color: #073642 }
34+
.ansi_color_fg_red { color: #dc322f }
35+
.ansi_color_bg_red { background-color: #dc322f }
36+
.ansi_color_fg_green { color: #859900 }
37+
.ansi_color_bg_green { background-color: #859900 }
38+
.ansi_color_fg_yellow { color: #b58900 }
39+
.ansi_color_bg_yellow { background-color: #b58900 }
40+
.ansi_color_fg_blue { color: #268bd2 }
41+
.ansi_color_bg_blue { background-color: #268bd2 }
42+
.ansi_color_fg_magenta { color: #d33682 }
43+
.ansi_color_bg_magenta { background-color: #d33682 }
44+
.ansi_color_fg_cyan { color: #2aa198 }
45+
.ansi_color_bg_cyan { background-color: #2aa198 }
46+
.ansi_color_fg_white { color: #eee8d5 }
47+
.ansi_color_bg_white { background-color: #eee8d5 }
48+
.ansi_color_fg_brblack { color: #002b36 }
49+
.ansi_color_bg_brblack { background-color: #002b36 }
50+
.ansi_color_fg_brred { color: #cb4b16 }
51+
.ansi_color_bg_brred { background-color: #cb4b16 }
52+
.ansi_color_fg_brgreen { color: #586e75 }
53+
.ansi_color_bg_brgreen { background-color: #586e75 }
54+
.ansi_color_fg_bryellow { color: #657b83 }
55+
.ansi_color_bg_bryellow { background-color: #657b83 }
56+
.ansi_color_fg_brblue { color: #839496 }
57+
.ansi_color_bg_brblue { background-color: #839496 }
58+
.ansi_color_fg_brmagenta { color: #6c71c4 }
59+
.ansi_color_bg_brmagenta { background-color: #6c71c4 }
60+
.ansi_color_fg_brcyan { color: #93a1a1 }
61+
.ansi_color_bg_brcyan { background-color: #93a1a1 }
62+
.ansi_color_fg_brwhite { color: #fdf6e3 }
63+
.ansi_color_bg_brwhite { background-color: #fdf6e3 }
6464
.ansi_color_underlined { text-decoration: underlined }
6565
END_CSS;
6666

@@ -92,6 +92,12 @@ public function getConvertData()
9292

9393
// non valid unicode codepoints substitution (only available with PHP >= 5.4)
9494
PHP_VERSION_ID < 50400 ?: array('<span class="ansi_color_bg_black ansi_color_fg_white">foo '."\xEF\xBF\xBD".'</span>', $css, "foo \xF4\xFF\xFF\xFF"),
95+
96+
// Yellow on green.
97+
array('<span class="ansi_color_bg_green ansi_color_fg_yellow">foo</span>', $css, "\e[33;42mfoo\e[0m"),
98+
99+
// Yellow on green - reversed.
100+
array('<span class="ansi_color_bg_yellow ansi_color_fg_green">foo</span>', $css, "\e[33;42;7mfoo\e[0m"),
95101
);
96102
}
97103
}

SensioLabs/AnsiConverter/Tests/AlternativeTheme/AnsiToHtmlConverterWithInlineStylesTest.php

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace SensioLabs\AnsiConverter\Tests\AlternativeTheme;
1313

1414
use SensioLabs\AnsiConverter\AnsiToHtmlConverter;
15-
use SensioLabs\AnsiConverter\Theme\SolarizedXTermTheme;
15+
use SensioLabs\AnsiConverter\Theme\SolarizedTheme;
1616

1717
class AnsiToHtmlConverterWithInlineStylesTest extends \PHPUnit_Framework_TestCase
1818
{
@@ -21,40 +21,46 @@ class AnsiToHtmlConverterWithInlineStylesTest extends \PHPUnit_Framework_TestCas
2121
*/
2222
public function testConvertWith($expected, $input)
2323
{
24-
$converter = new AnsiToHtmlConverter(new SolarizedXTermTheme());
24+
$converter = new AnsiToHtmlConverter(new SolarizedTheme());
2525
$this->assertEquals($expected, $converter->convert($input));
2626
}
2727

2828
public function getConvertData()
2929
{
3030
return array(
3131
// text is escaped
32-
array('<span style="background-color: #262626; color: #e4e4e4">foo &lt;br /&gt;</span>', 'foo <br />'),
32+
array('<span style="background-color: #073642; color: #eee8d5">foo &lt;br /&gt;</span>', 'foo <br />'),
3333

3434
// newlines are preserved
35-
array("<span style=\"background-color: #262626; color: #e4e4e4\">foo\nbar</span>", "foo\nbar"),
35+
array("<span style=\"background-color: #073642; color: #eee8d5\">foo\nbar</span>", "foo\nbar"),
3636

3737
// backspaces
38-
array('<span style="background-color: #262626; color: #e4e4e4">foo </span>', "foobar\x08\x08\x08 "),
39-
array('<span style="background-color: #262626; color: #e4e4e4">foo</span><span style="background-color: #262626; color: #e4e4e4"> </span>', "foob\e[31;41ma\e[0mr\x08\x08\x08 "),
38+
array('<span style="background-color: #073642; color: #eee8d5">foo </span>', "foobar\x08\x08\x08 "),
39+
array('<span style="background-color: #073642; color: #eee8d5">foo</span><span style="background-color: #073642; color: #eee8d5"> </span>', "foob\e[31;41ma\e[0mr\x08\x08\x08 "),
4040

4141
// color
42-
array('<span style="background-color: #d70000; color: #d70000">foo</span>', "\e[31;41mfoo\e[0m"),
42+
array('<span style="background-color: #dc322f; color: #dc322f">foo</span>', "\e[31;41mfoo\e[0m"),
4343

4444
// color with [m as a termination (equivalent to [0m])
45-
array('<span style="background-color: #d70000; color: #d70000">foo</span>', "\e[31;41mfoo\e[m"),
45+
array('<span style="background-color: #dc322f; color: #dc322f">foo</span>', "\e[31;41mfoo\e[m"),
4646

4747
// bright color
48-
array('<span style="background-color: #d75f00; color: #d75f00">foo</span>', "\e[31;41;1mfoo\e[0m"),
48+
array('<span style="background-color: #cb4b16; color: #cb4b16">foo</span>', "\e[31;41;1mfoo\e[0m"),
4949

5050
// carriage returns
51-
array('<span style="background-color: #262626; color: #e4e4e4">foobar</span>', "foo\rbar\rfoobar"),
51+
array('<span style="background-color: #073642; color: #eee8d5">foobar</span>', "foo\rbar\rfoobar"),
5252

5353
// underline
54-
array('<span style="background-color: #262626; color: #e4e4e4; text-decoration: underline">foo</span>', "\e[4mfoo\e[0m"),
54+
array('<span style="background-color: #073642; color: #eee8d5; text-decoration: underline">foo</span>', "\e[4mfoo\e[0m"),
5555

5656
// non valid unicode codepoints substitution (only available with PHP >= 5.4)
57-
PHP_VERSION_ID < 50400 ?: array('<span style="background-color: #262626; color: #e4e4e4">foo '."\xEF\xBF\xBD".'</span>', "foo \xF4\xFF\xFF\xFF"),
57+
PHP_VERSION_ID < 50400 ?: array('<span style="background-color: #073642; color: #eee8d5">foo '."\xEF\xBF\xBD".'</span>', "foo \xF4\xFF\xFF\xFF"),
58+
59+
// Yellow on green.
60+
array('<span style="background-color: #859900; color: #b58900">foo</span>', "\e[33;42mfoo\e[0m"),
61+
62+
// Yellow on green - reversed.
63+
array('<span style="background-color: #b58900; color: #859900">foo</span>', "\e[33;42;7mfoo\e[0m"),
5864
);
5965
}
6066
}

0 commit comments

Comments
 (0)