Data-Dumper-AutoEncode
view release on metacpan or search on metacpan
t/01_basic.t view on Meta::CPAN
use strict;
use warnings;
use Test::More 0.88;
use Data::Dumper::AutoEncode;
use Encode qw//;
{
my $decoded_str = Encode::decode_utf8('å¯å£«ã¯æ¥æ¬ä¸ã®å±±');
like(
Dumper($decoded_str),
qr/\Q\x{5bcc}\x{58eb}\x{306f}\x{65e5}\x{672c}\x{4e00}\x{306e}\x{5c71}/,
'Dumper'
);
like eDumper($decoded_str), qr/å¯å£«ã¯æ¥æ¬ä¸ã®å±±/, 'eDumper';
}
{
my $decoded_str = Encode::decode_utf8('å¯å£«ã¯æ¥æ¬ä¸ã®å±±');
my @hoge = ($decoded_str, $decoded_str);
like(
eDumper($decoded_str, $decoded_str),
qr/^\$VAR1 = 'å¯å£«ã¯æ¥æ¬ä¸ã®å±±';\n\$VAR2 = 'å¯å£«ã¯æ¥æ¬ä¸ã®å±±';\n$/,
'eDumper few args'
);
}
{
my $str = 'å¯å£«ã¯æ¥æ¬ä¸ã®å±±';
Encode::from_to($str, 'utf8', 'CP932');
my $decoded_str = Encode::decode('CP932', $str);
like(
Dumper($decoded_str),
qr/\Q\x{5bcc}\x{58eb}\x{306f}\x{65e5}\x{672c}\x{4e00}\x{306e}\x{5c71}/,
'Dumper CP932'
);
local $Data::Dumper::AutoEncode::ENCODING = 'CP932';
like eDumper($decoded_str), qr/\$VAR1.+/, 'eDumper CP932';
}
{
like(
eDumper({ foo => 123 }),
qr/'foo' => 123/,
'numeric value'
);
}
{
local $Data::Dumper::AutoEncode::CHECK_ALREADY_ENCODED = 1;
my $ret = eDumper({ Encode::decode_utf8('å¯å£«ã¯æ¥æ¬ä¸ã®å±±') => 'ã¨ãã¬ã¹ãã¯ä¸çä¸ã®å±±' });
like $ret, qr/å¯å£«ã¯æ¥æ¬ä¸ã®å±±/, 'ex decoded';
like $ret, qr/ã¨ãã¬ã¹ãã¯ä¸çä¸ã®å±±/, 'ex encoded';
}
{
local $Data::Dumper::AutoEncode::CHECK_ALREADY_ENCODED = 1;
local $Data::Dumper::AutoEncode::FLAG_STR = 'auto_encoded:';
is eDumper(Encode::decode_utf8('å¯å£«ã¯æ¥æ¬ä¸ã®å±±')), q|$VAR1 = 'auto_encoded:å¯å£«ã¯æ¥æ¬ä¸ã®å±±';|."\n", 'FLAG_STR';
is eDumper('å¯å£«ã¯æ¥æ¬ä¸ã®å±±'), q|$VAR1 = 'å¯å£«ã¯æ¥æ¬ä¸ã®å±±';|."\n", 'No FLAG_STR';
}
done_testing;
( run in 0.553 second using v1.01-cache-2.11-cpan-13bb782fe5a )