+8
-0
lines changedFilter options
+8
-0
lines changed Original file line number Diff line number Diff line change
@@ -101,6 +101,7 @@ static int PyUpb_ExtensionDict_Contains(PyObject* _self, PyObject* key) {
101
101
if (!msg) return 0;
102
102
if (upb_FieldDef_IsRepeated(f)) {
103
103
upb_MessageValue val = upb_Message_GetFieldByDef(msg, f);
104
+
if (!val.array_val) return 0;
104
105
return upb_Array_Size(val.array_val) > 0;
105
106
} else {
106
107
return upb_Message_HasFieldByDef(msg, f);
Original file line number Diff line number Diff line change
@@ -1902,6 +1902,13 @@ def testMergeFromExtensionsNestedMessage(self):
1902
1902
self.assertEqual(222, ext2[1].bb)
1903
1903
self.assertEqual(333, ext2[2].bb)
1904
1904
1905
+
def testRepeatedExtensionsIn(self):
1906
+
msg = more_extensions_pb2.ExtendedMessage()
1907
+
ext = more_extensions_pb2.repeated_int_extension
1908
+
self.assertNotIn(ext, msg.Extensions)
1909
+
msg.Extensions[ext].append(123)
1910
+
self.assertIn(ext, msg.Extensions)
1911
+
1905
1912
def testCopyFromBadType(self):
1906
1913
proto1 = unittest_pb2.TestAllTypes()
1907
1914
proto2 = unittest_pb2.TestAllExtensions()
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4