1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
use Test::More tests => 7;
use Carp;
use strict;
use Google::ProtocolBuffers;
BEGIN{ $SIG{__DIE__} = \&Carp::confess; }
my @classes;
@classes = Google::ProtocolBuffers->parse("package my.test_case; message A{}");
is(scalar @classes, 1);
is($classes[0], 'My::TestCase::A');
@classes = Google::ProtocolBuffers->parse(
"package my.test_case; message B{}",
{no_camel_case => 1}
);
is(scalar @classes, 1);
is($classes[0], 'my::test_case::B');
@classes = Google::ProtocolBuffers->parse("
message Person {
required string name = 1;
required int32 id = 2; // Unique ID number for this person.
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phone = 4;
}
");
is(scalar(@classes), 3);
@classes = sort @classes;
is_deeply(\@classes, ['Person', 'Person::PhoneNumber', 'Person::PhoneType']);
@classes = Google::ProtocolBuffers->parsefile("google/protobuf/unittest.proto", {include_dir => 't'});
is(scalar(@classes), 35);
|