Avro
view release on metacpan or search on metacpan
t/03_bin_decode.t view on Meta::CPAN
100101102103104105106107108109110111112113114115116117118119120
schema
=>
$w_enum
,
data
=>
$data
,
emit_cb
=>
sub
{
$enc
= ${
$_
[0] } },
);
open
my
$reader
,
'<'
, \
$enc
or
die
"Cannot open memory file: $!"
;
my
$dec
= Avro::BinaryDecoder->decode(
writer_schema
=>
$w_enum
,
reader_schema
=>
$r_enum
,
reader
=>
$reader
,
);
is
$dec
,
$data
,
"decoded!"
;
}
for
my
$data
(
qw/a z/
) {
Avro::BinaryEncoder->encode(
schema
=>
$w_enum
,
data
=>
$data
,
emit_cb
=>
sub
{
$enc
= ${
$_
[0] } },
);
open
my
$reader
,
'<'
, \
$enc
or
die
"Cannot open memory file: $!"
;
throws_ok { Avro::BinaryDecoder->decode(
t/03_bin_decode.t view on Meta::CPAN
185186187188189190191192193194195196197198199200201202203204205
data
=>
$data
,
emit_cb
=>
sub
{
$enc
.= ${
$_
[0] } },
);
open
my
$reader
,
'<'
, \
$enc
or
die
"Cannot open memory file: $!"
;
my
$dec
= Avro::BinaryDecoder->decode(
writer_schema
=>
$w_schema
,
reader_schema
=>
$r_schema
,
reader
=>
$reader
,
);
is_deeply
$dec
,
$data
,
"decoded!"
;
}
## map resolution
{
my
$w_schema
= Avro::Schema->parse(
<<EOP);
{ "type": "map", "values": { "type": "array", "items": "string" } }
EOP
my
$r_schema
= Avro::Schema->parse(<<EOP);
{
"type"
:
"map"
,
"values"
: {
"type"
:
"array"
,
"items"
:
"int"
} }
EOP
t/03_bin_decode.t view on Meta::CPAN
219220221222223224225226227228229230231232233234235236237238239
reader
=>
$reader
,
)
}
"Avro::Schema::Error::Mismatch"
,
"recursively... fails"
;
open
$reader
,
'<'
, \
$enc
or
die
"Cannot open memory file: $!"
;
my
$dec
= Avro::BinaryDecoder->decode(
writer_schema
=>
$w_schema
,
reader_schema
=>
$w_schema
,
reader
=>
$reader
,
);
is_deeply
$dec
,
$data
,
"decoded succeeded!"
;
}
## schema upgrade
{
my
$w_schema
= Avro::Schema->parse(
<<EOP);
{ "type": "map", "values": { "type": "array", "items": "int" } }
EOP
my
$r_schema
= Avro::Schema->parse(<<EOP);
{
"type"
:
"map"
,
"values"
: {
"type"
:
"array"
,
"items"
:
"float"
} }
EOP
t/03_bin_decode.t view on Meta::CPAN
244245246247248249250251252253254255256257258
schema
=>
$w_schema
,
data
=>
$data
,
emit_cb
=>
sub
{
$enc
.= ${
$_
[0] } },
);
open
my
$reader
,
'<'
, \
$enc
or
die
"Cannot open memory file: $!"
;
my
$dec
= Avro::BinaryDecoder->decode(
writer_schema
=>
$w_schema
,
reader_schema
=>
$w_schema
,
reader
=>
$reader
,
);
is_deeply
$dec
,
$data
,
"decoded succeeded! +upgrade"
;
is
$dec
->{one}[0], 1.0,
"kind of dumb test"
;
}
done_testing;
( run in 0.295 second using v1.01-cache-2.11-cpan-1dc43b0fbd2 )