1
0
mirror of https://github.com/msgpack/msgpack-c.git synced 2025-03-21 15:10:01 +01:00
msgpack/perl/t/09_stddata.t

43 lines
911 B
Perl
Raw Normal View History

2010-09-16 21:45:06 +09:00
#!perl -w
# Testing standard dataset in msgpack/test/*.{json,mpac}.
# Don't edit msgpack/perl/t/std/*, which are just copies.
2010-09-16 21:37:49 +09:00
use strict;
use Test::More;
use t::Util;
use Data::MessagePack;
sub slurp {
open my $fh, '<:raw', $_[0] or die "failed to open '$_[0]': $!";
local $/;
return scalar <$fh>;
}
2010-09-17 13:43:42 +09:00
my @data = do {
my $json = slurp("t/std/cases.json");
$json =~ s/:/=>/g;
@{ eval $json };
};
2010-09-16 21:37:49 +09:00
my $mpac1 = slurp("t/std/cases.mpac");
my $mpac2 = slurp("t/std/cases_compact.mpac");
my $mps = Data::MessagePack::Unpacker->new();
my $t = 1;
for my $mpac($mpac1, $mpac2) {
note "mpac", $t++;
my $offset = 0;
my $i = 0;
while($offset < length($mpac)) {
2010-09-17 13:10:54 +09:00
$offset = $mps->execute($mpac, $offset);
2010-09-18 09:44:32 +09:00
ok $mps->is_finished, "data[$i] : is_finished";
2010-09-16 21:37:49 +09:00
is_deeply $mps->data, $data[$i], "data[$i]";
$mps->reset;
$i++;
}
}
done_testing;