From 37e2c670af1d47edd8b84aabcf545209acb54b56 Mon Sep 17 00:00:00 2001 From: Anton Grbin Date: Tue, 20 Feb 2024 12:10:13 +0100 Subject: [PATCH] Add test with the map of known and unknown values --- conformance/binary_json_conformance_suite.cc | 16 ++++++++++++++++ conformance/failure_list_cpp.txt | 6 +++++- conformance/failure_list_php.txt | 4 ++++ conformance/failure_list_python.txt | 4 ++++ conformance/failure_list_python_cpp.txt | 4 ++++ conformance/failure_list_python_upb.txt | 4 ++++ 6 files changed, 37 insertions(+), 1 deletion(-) diff --git a/conformance/binary_json_conformance_suite.cc b/conformance/binary_json_conformance_suite.cc index 1b29c0d63e..0a20360d3f 100644 --- a/conformance/binary_json_conformance_suite.cc +++ b/conformance/binary_json_conformance_suite.cc @@ -1785,6 +1785,22 @@ void BinaryAndJsonConformanceSuiteImpl< repeated_nested_enum: FOO repeated_nested_enum: FOO )"); + + // This test is similar to "InMapValue" from above with mixture of known and unknown + // enum string values in the map. + RunValidJsonIgnoreUnknownTest("IgnoreUnknownEnumStringValueInMapPart", + RECOMMENDED, + R"json({ + "map_string_nested_enum": { + "key1": "FOO", + "key2": "UNKNOWN_ENUM_VALUE" + }})json", + R"( + map_string_nested_enum: { + key: "key1" + value: FOO + } + )"); } template diff --git a/conformance/failure_list_cpp.txt b/conformance/failure_list_cpp.txt index 785ebc92a2..0f4e10ff63 100644 --- a/conformance/failure_list_cpp.txt +++ b/conformance/failure_list_cpp.txt @@ -29,6 +29,10 @@ Recommended.Proto3.JsonInput.FieldNameNotQuoted Recommended.Editions_Proto3.JsonInput.FieldNameNotQuoted Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapValue.ProtobufOutput Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapValue.ProtobufOutput +Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput Recommended.Proto3.JsonInput.MapFieldValueIsNull Recommended.Editions_Proto3.JsonInput.MapFieldValueIsNull Recommended.Proto3.JsonInput.RepeatedFieldMessageElementIsNull @@ -104,4 +108,4 @@ Recommended.Proto2.JsonInput.StringFieldUppercaseEscapeLetter Recommended.Proto2.JsonInput.TrailingCommaInAnObject Recommended.Proto2.JsonInput.TrailingCommaInAnObjectWithNewlines Recommended.Proto2.JsonInput.TrailingCommaInAnObjectWithSpace -Recommended.Proto2.JsonInput.TrailingCommaInAnObjectWithSpaceCommaSpace \ No newline at end of file +Recommended.Proto2.JsonInput.TrailingCommaInAnObjectWithSpaceCommaSpace diff --git a/conformance/failure_list_php.txt b/conformance/failure_list_php.txt index 5c594ba6be..5c09f3fc2f 100644 --- a/conformance/failure_list_php.txt +++ b/conformance/failure_list_php.txt @@ -11,6 +11,10 @@ Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput +Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput Recommended.Proto3.ProtobufInput.ValidDataOneofBinary.MESSAGE.Merge.ProtobufOutput Required.Proto2.JsonInput.StoresDefaultPrimitive.Validator Required.Proto3.JsonInput.DoubleFieldTooSmall diff --git a/conformance/failure_list_python.txt b/conformance/failure_list_python.txt index 9bd74b8f1f..fd10110dc3 100644 --- a/conformance/failure_list_python.txt +++ b/conformance/failure_list_python.txt @@ -14,3 +14,7 @@ Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput +Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput diff --git a/conformance/failure_list_python_cpp.txt b/conformance/failure_list_python_cpp.txt index be464debad..3d5ff185f6 100644 --- a/conformance/failure_list_python_cpp.txt +++ b/conformance/failure_list_python_cpp.txt @@ -22,3 +22,7 @@ Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput +Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput diff --git a/conformance/failure_list_python_upb.txt b/conformance/failure_list_python_upb.txt index 7f8a76dfa7..7a90ac8d35 100644 --- a/conformance/failure_list_python_upb.txt +++ b/conformance/failure_list_python_upb.txt @@ -14,3 +14,7 @@ Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInRepeatedPart.ProtobufOutput +Recommended.Editions_Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Editions_Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto2.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput +Recommended.Proto3.JsonInput.IgnoreUnknownEnumStringValueInMapPart.ProtobufOutput