Parse-ANSIColor-Tiny
view release on metacpan or search on metacpan
t/chart_256.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 1 + 256 * 4 + 1;
use Test::Differences;
use Parse::ANSIColor::Tiny;
my $p = new_ok('Parse::ANSIColor::Tiny');
my $chart = do { local $/; <DATA>; };
my $parsed = $p->parse($chart);
sub expect {
for my $prefix ( '', 'on_' ){
my $name = $prefix . $_[0];
eq_or_diff shift(@$parsed), [ [$name], $name ];
is_deeply shift(@$parsed), [ [], "\n" ], "newline";
}
}
do {
for my $i ( 0 .. 15 ){
expect "ansi$i";
}
for my $r ( 0 .. 5 ) {
for my $g ( 0 .. 5 ) {
for my $b ( 0 .. 5 ) {
expect "rgb$r$g$b";
}
}
}
for my $i ( 0 .. 23 ){
expect "grey$i";
}
};
is_deeply $parsed, [], 'all checked';
# perl -MTerm::ANSIColor -le 'sub p { print colored(("$_$_[0]") x 2) for ("", "on_") } for $i ( 0 .. 15 ){ p "ansi$i" } for $r ( 0 .. 5 ) { for $g ( 0 .. 5 ) { for $b ( 0 .. 5 ) { p "rgb${r}${g}${b}" } } } for $i ( 0 .. 23 ){ p "grey$i" }'
__DATA__
[38;5;0mansi0[0m
[48;5;0mon_ansi0[0m
[38;5;1mansi1[0m
[48;5;1mon_ansi1[0m
[38;5;2mansi2[0m
[48;5;2mon_ansi2[0m
[38;5;3mansi3[0m
[48;5;3mon_ansi3[0m
[38;5;4mansi4[0m
[48;5;4mon_ansi4[0m
[38;5;5mansi5[0m
[48;5;5mon_ansi5[0m
[38;5;6mansi6[0m
[48;5;6mon_ansi6[0m
[38;5;7mansi7[0m
[48;5;7mon_ansi7[0m
[38;5;8mansi8[0m
[48;5;8mon_ansi8[0m
[38;5;9mansi9[0m
[48;5;9mon_ansi9[0m
[38;5;10mansi10[0m
[48;5;10mon_ansi10[0m
[38;5;11mansi11[0m
[48;5;11mon_ansi11[0m
( run in 0.579 second using v1.01-cache-2.11-cpan-5b529ec07f3 )