Parse-ANSIColor-Tiny

 view release on metacpan or  search on metacpan

t/process_reverse.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More 0.96;
use Test::Differences;

my $mod = 'Parse::ANSIColor::Tiny';
eval "require $mod" or die $@;

sub e { note $_[0]; $_[0] }

my $p = new_ok($mod);

# simplify 'reverse' (regardless of auto_reverse option)

eq_or_diff
  [$p->process_reverse(qw(bold underline red))],
  [qw(bold underline red)],
  'no change';

eq_or_diff
  [$p->process_reverse(qw(bold underline red reverse))],
  [qw(bold underline on_red black)],
  'change preceeding fg to bg';

eq_or_diff
  [$p->process_reverse(qw(bold reverse green))],
  [qw(bold on_green black)],
  'change following fg to bg';

eq_or_diff
  [new_ok($mod, [background => 'white', foreground => 'black'])->process_reverse(qw(bold reverse green))],
  [qw(bold on_green white)],
  'change following fg to bg';

eq_or_diff
  [$p->process_reverse(qw(bold underline on_red reverse))],
  [qw(bold underline red on_white)],
  'change preceeding bg to fg';

eq_or_diff
  [$p->process_reverse(qw(bold reverse on_green))],
  [qw(bold green on_white)],
  'change following bg to fg';

eq_or_diff
  [$p->process_reverse(qw(bold on_bright_red bright_blue reverse))],
  [qw(bold bright_red on_bright_blue)],
  'swap preceeding colors, fg first';

eq_or_diff
  [$p->process_reverse(qw(bold bright_magenta on_bright_yellow reverse))],
  [qw(bold on_bright_magenta bright_yellow)],
  'swap preceeding colors';

eq_or_diff
  [$p->process_reverse(qw(bold reverse green on_blue))],
  [qw(bold on_green blue)],
  'swap following cologs';

# reverse when no colors are present

eq_or_diff
  [$p->process_reverse(qw(bold reverse))],
  [qw(bold on_white black)],



( run in 2.030 seconds using v1.01-cache-2.11-cpan-437f7b0c052 )