Go to the documentation of this file.
30 #include "absl/strings/string_view.h"
31 #include "gmock/gmock.h"
32 #include "gtest/gtest.h"
36 #include "upb/util/required_fields_test.upb.h"
37 #include "upb/util/required_fields_test.upbdefs.h"
40 std::vector<std::string>
ret;
42 while (entry->
field) {
46 assert(
len <=
sizeof(
buf));
61 const std::vector<std::string>& missing) {
64 upb_util_test_TestRequiredFields* test_msg =
65 upb_util_test_TestRequiredFields_new(
arena.ptr());
67 upb_util_test_TestRequiredFields_getmsgdef(
symtab.ptr()));
74 test_msg,
m.ptr(),
symtab.ptr(), &entries));
94 TEST(RequiredFieldsTest, TestRequired) {
100 "optional_message": {}
103 {"required_message",
"optional_message.required_message"});
109 "optional_message": {
110 "repeated_message": [
111 {"required_int32": 1},
113 {"required_int32": 2}
118 {"required_message",
"optional_message.required_message",
119 "optional_message.repeated_message[1].required_int32"});
125 "required_message": {},
126 "map_int32_message": {
127 "1": {"required_int32": 1},
129 "9": {"required_int32": 1}
133 {"map_int32_message[5].required_int32"});
139 "required_message": {},
140 "map_int64_message": {
141 "1": {"required_int32": 1},
143 "9": {"required_int32": 1}
147 {"map_int64_message[5].required_int32"});
153 "required_message": {},
154 "map_uint32_message": {
155 "1": {"required_int32": 1},
157 "9": {"required_int32": 1}
161 {"map_uint32_message[5].required_int32"});
167 "required_message": {},
168 "map_uint64_message": {
169 "1": {"required_int32": 1},
171 "9": {"required_int32": 1}
175 {"map_uint64_message[5].required_int32"});
181 "required_message": {},
182 "map_bool_message": {
183 "false": {"required_int32": 1},
188 {"map_bool_message[true].required_int32"});
194 "required_message": {},
195 "map_string_message": {
196 "abc": {"required_int32": 1},
201 {R"(map_string_message["d\"ef"].required_int32)"});
grpc_core::ScopedArenaPtr arena
IntBeforeRegisterTypedTestSuiteP before
constexpr size_type size() const noexcept
bool upb_util_HasUnsetRequired(const upb_Message *msg, const upb_MessageDef *m, const upb_DefPool *ext_pool, upb_FieldPathEntry **fields)
void CheckRequired(absl::string_view json, const std::vector< std::string > &missing)
TEST(RequiredFieldsTest, TestRequired)
std::vector< std::string > PathsToText(upb_FieldPathEntry *entry)
size_t upb_FieldPath_ToText(upb_FieldPathEntry **path, char *buf, size_t size)
UniquePtr< SSL_SESSION > ret
bool upb_JsonDecode(const char *buf, size_t size, upb_Message *msg, const upb_MessageDef *m, const upb_DefPool *symtab, int options, upb_Arena *arena, upb_Status *status)
#define EXPECT_LT(val1, val2)
#define EXPECT_TRUE(condition)
const upb_FieldDef * field
constexpr const_pointer data() const noexcept
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:10