BEGIN{
$SIG
{__DIE__} = \
&Carp::confess
; }
ok(-f
't/MyTestR.pm'
);
ok(-f
't/MyTestU.pm'
);
ok(-f
't/UnitTest.pm'
);
require_ok(
't/MyTestR.pm'
);
require_ok(
't/MyTestU.pm'
);
require_ok(
't/UnitTest.pm'
);
require_ok(
't/UnitTest.pm'
);
my
$str
;
$str
= ProtobufUnittest::TestAllTypes->encode({
optional_int32
=> 0});
is(
$str
,
"\x{08}\x{00}"
,
"optional_int32=0"
);
$str
= ProtobufUnittest::TestAllTypes->encode({
optional_int32
=> 1});
is(
$str
,
"\x{08}\x{01}"
,
"optional_int32=1"
);
my
$data
;
$data
= ProtobufUnittest::TestAllTypes->decode(
"\x{9a}\x{01}\x{02}\x{08}\x{00}"
);
is_deeply(
$data
->{optional_foreign_message}, {
c
=> 0},
"optional_foreign_message={c => 0}"
);
$data
= ProtobufUnittest::TestAllTypes->decode(
"\x{9a}\x{01}\x{0b}\x{08}\x{ff}\x{ff}\x{ff}\x{ff}\x{ff}\x{ff}\x{ff}\x{ff}\x{ff}\x{01}"
);
is_deeply(
$data
->{optional_foreign_message}, {
c
=> -1},
"optional_foreign_message={c => -1}"
);
$data
= ProtobufUnittest::TestAllTypes->decode(
"\x{9a}\x{01}\x{02}\x{08}\x{01}"
);
is_deeply(
$data
->{optional_foreign_message}, {
c
=> 1},
"optional_foreign_message={c => 1}"
);
ProtobufUnittest::TestSparseEnum->
import
(
':constants'
);
is(SPARSE_A(), 123);
is(SPARSE_B(), 62374);
is(SPARSE_C(), 12589234);
is(SPARSE_D(), -15);
is(SPARSE_E(), -53452);
is(SPARSE_F(), 0);
is(SPARSE_G(), 2);
$data
= ProtobufUnittest::TestAllTypes->new({
optional_int32
=> 10});
is(
$data
->optional_int32, 10);
$data
->optional_int32(100);
is(
$data
->optional_int32, 100);
$data
->optional_int32(20);
is(
$data
->optional_int32, 20);
$data
->optional_int32(0);
is(
$data
->optional_int32, 0);
my
$r
= My::Test::R->new();
$r
->a(10);
is(
$r
->a, 10);
is(
$r
->{a}, 10);
$r
->b(100);
is(
$r
->b, 100);
is(
$r
->{b}, 100);
$r
->c(1000);
is(
$r
->c, 1000);
is(
$r
->{c}, 1000);
my
$u
= My::Test::U->decode(
"\x{08}\x{0a}PdX\x{e8}\x{07}"
);
is(
$u
->{a}, 10);
is(
$u
->{
'[a]'
}, 100);
is(
$u
->{
'[UFoo.a]'
}, 1000);
is(
$u
->a, 10);
is(
$u
->getExtension(
'a'
), 100);
is(
$u
->getExtension(
'UFoo.a'
), 1000);
is(
$u
->getExtension(
'UFoo::a'
), 1000);
$u
->setExtension(
'a'
, 20);
is(
$u
->getExtension(
'a'
), 20);