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__
ansi0
on_ansi0
ansi1
on_ansi1
ansi2
on_ansi2
ansi3
on_ansi3
ansi4
on_ansi4
ansi5
on_ansi5
ansi6
on_ansi6
ansi7
on_ansi7
ansi8
on_ansi8
ansi9
on_ansi9
ansi10
on_ansi10
ansi11
on_ansi11



( run in 0.579 second using v1.01-cache-2.11-cpan-5b529ec07f3 )