|
14 | 14 |
|
15 | 15 | char executable_path[MAXPATHLEN] = {0};
|
16 | 16 |
|
| 17 | +void oneof(void) { |
| 18 | + int result; |
| 19 | + |
| 20 | + Foo__Something something = FOO__SOMETHING__INIT; |
| 21 | + |
| 22 | + char *json_string; |
| 23 | + |
| 24 | + // FOO__SOMETHING__SOMETHING__NOT_SET |
| 25 | + something.something_case = FOO__SOMETHING__SOMETHING__NOT_SET; |
| 26 | + result = protobuf2json_string(&something.base, TEST_JSON_FLAGS, &json_string, NULL, 0); |
| 27 | + |
| 28 | + printf("Debug: %s\n", json_string); |
| 29 | + free(json_string); |
| 30 | + |
| 31 | + // FOO__SOMETHING__SOMETHING_ONEOF_STRING |
| 32 | + something.oneof_string = "string"; |
| 33 | + something.something_case = FOO__SOMETHING__SOMETHING_ONEOF_STRING; |
| 34 | + result = protobuf2json_string(&something.base, TEST_JSON_FLAGS, &json_string, NULL, 0); |
| 35 | + |
| 36 | + printf("Debug: %s\n", json_string); |
| 37 | + free(json_string); |
| 38 | + |
| 39 | + // FOO__SOMETHING__SOMETHING_ONEOF_BYTES |
| 40 | + something.oneof_bytes.len = 5; |
| 41 | + something.oneof_bytes.data = (uint8_t*)"bytes"; |
| 42 | + something.something_case = FOO__SOMETHING__SOMETHING_ONEOF_BYTES; |
| 43 | + result = protobuf2json_string(&something.base, TEST_JSON_FLAGS, &json_string, NULL, 0); |
| 44 | + |
| 45 | + printf("Debug: %s\n", json_string); |
| 46 | + free(json_string); |
| 47 | +} |
| 48 | + |
17 | 49 | void person__debug(void) {
|
18 | 50 | int result;
|
19 | 51 |
|
@@ -328,6 +360,8 @@ void read_file_success(void) {
|
328 | 360 | int main(int argc, char **argv) {
|
329 | 361 | strncpy(executable_path, argv[0], sizeof(executable_path) - 1);
|
330 | 362 |
|
| 363 | + oneof(); |
| 364 | + |
331 | 365 | person__debug();
|
332 | 366 |
|
333 | 367 | person__error_unknown_enum_value();
|
|
0 commit comments