blob: a8eb44876f312d4ca0c1dd33ecd65cb1177a6412 [file] [log] [blame]
#!/usr/bin/perl -Tw
#
# t/stringify.t -- Test suite for stringify interaction.
#
# Copyright 2011 Revilo Reegiles
# Copyright 2011 Russ Allbery <rra@stanford.edu>
#
# This program is free software; you may redistribute it and/or modify it
# under the same terms as Perl itself.
# Create a dummy class that implements stringification.
package Test::Stringify;
use overload '""' => 'stringify';
sub new { return bless {} }
sub stringify { return "Foo Bar\n" }
package main;
use strict;
use Test::More tests => 6;
BEGIN {
delete $ENV{ANSI_COLORS_DISABLED};
use_ok ('Term::ANSIColor',
qw/:pushpop color colored uncolor colorstrip colorvalid/);
}
is (colored ([ 'blue', 'bold' ], 'testing'), "\e[34;1mtesting\e[0m",
'colored with an array reference');
is (colored ("ok\n", 'bold blue'), "\e[1;34mok\n\e[0m",
'colored with a following string');
my $test = Test::Stringify->new;
is (colored ($test . "", 'bold blue'), "\e[1;34mFoo Bar\n\e[0m",
'colored with forced stringification');
is (colored ($test, 'bold blue'), "\e[1;34mFoo Bar\n\e[0m",
'colored with a non-array reference');
my %foo = (foo => 'bar');
like (colored (\%foo, 'bold blue'), qr/\e\[1;34mHASH\(.*\)\e\[0m/,
'colored with a hash reference');