Data-Header-Fields
view release on metacpan or search on metacpan
t/01_Data-Header-Fields.t view on Meta::CPAN
#!/usr/bin/perl
use strict;
use warnings;
use Test::More 'no_plan';
#use Test::More tests => 10;
use Test::Deep;
use Test::Differences;
use Test::Exception;
use FindBin qw($Bin);
use lib "$Bin/lib";
BEGIN {
use_ok ( 'Data::Header::Fields' ) or exit;
}
exit main();
sub main {
my $header1 = "t:123\nt2:321\n 123\nt3:999\n";
my $lines = Data::Header::Fields->decode($header1);
my @lines_expect = (
(bless { key => 't', value => Data::Header::Fields::Value->new('value' => "123\n",), parent => 'Data::Header::Fields', original_line => "t:123\n"}, 'Data::Header::Fields::Line'),
(bless { key => 't2', value => Data::Header::Fields::Value->new('value' => "321\n 123\n"), parent => 'Data::Header::Fields', original_line => "t2:321\n 123\n"}, 'Data::Header::Fields::Line'),
(bless { key => 't3', value => Data::Header::Fields::Value->new('value' => "999\n"), parent => 'Data::Header::Fields', original_line => "t3:999\n"}, 'Data::Header::Fields::Line'),
);
@lines_expect = map { $_->value->parent($_) } @lines_expect;
cmp_deeply(
$lines,
\@lines_expect,
'decode()',
);
eq_or_diff(Data::Header::Fields->encode($lines), $header1, 'encode()');
cmp_deeply(
{
map {
my ($key, $value) = ($_->key, $_->value);
chomp $value;
($key => $value.'');
} @{$lines}
},
{
't' => "123",
't2' => "321 123",
't3' => "999",
},
'decode()',
);
cmp_ok(
Data::Header::Fields->new->decode($header1),
'eq',
$header1,
'overloaded stringify',
);
cmp_deeply(
[ Data::Header::Fields->keys($lines) ],
[ 't', 't2', 't3'],
'keys()',
);
my $header2 = "t1:a123\nt2:b321\n 123\nt3:c999\n";
my $dhf = Data::Header::Fields->new()->decode(\$header2);
( run in 1.546 second using v1.01-cache-2.11-cpan-df04353d9ac )