Add oneofs to AllTypes test case

This commit is contained in:
Petteri Aimonen
2015-01-11 19:47:27 +02:00
parent d2e023e3e5
commit f4b3a1c202
12 changed files with 53 additions and 2 deletions

View File

@@ -101,6 +101,12 @@ message AllTypes {
optional MyEnum opt_enum = 57 [default = Second];
optional EmptyMessage opt_emptymsg = 58;
oneof oneof
{
SubMessage oneof_msg1 = 59;
EmptyMessage oneof_msg2 = 60;
}
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;

View File

@@ -125,6 +125,8 @@ bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.has_opt_enum == false);
TEST(alltypes.opt_enum == MyEnum_Second);
TEST(alltypes.has_opt_emptymsg == false);
TEST(alltypes.which_oneof == 0);
}
else
{
@@ -170,6 +172,10 @@ bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.has_opt_enum == true);
TEST(alltypes.opt_enum == MyEnum_Truth);
TEST(alltypes.has_opt_emptymsg == true);
TEST(alltypes.which_oneof == AllTypes_oneof_msg1_tag);
TEST(strcmp(alltypes.oneof.oneof_msg1.substuff1, "4059") == 0);
TEST(alltypes.oneof.oneof_msg1.substuff2 == 4059);
}
TEST(alltypes.req_limits.int32_min == INT32_MIN);

View File

@@ -121,6 +121,10 @@ int main(int argc, char **argv)
alltypes.has_opt_enum = true;
alltypes.opt_enum = MyEnum_Truth;
alltypes.has_opt_emptymsg = true;
alltypes.which_oneof = AllTypes_oneof_msg1_tag;
strcpy(alltypes.oneof.oneof_msg1.substuff1, "4059");
alltypes.oneof.oneof_msg1.substuff2 = 4059;
}
alltypes.end = 1099;