diff options
author | Thomas Van Lenten <thomasvl@google.com> | 2016-08-23 08:19:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-23 08:19:45 -0400 |
commit | 80f65d2df82cc23eb92ef5355d638b9102074190 (patch) | |
tree | 7573a77e4b7b55aa39495dd8892d8f52eec1416a /conformance/conformance_test.cc | |
parent | b5794ed02420770bf58398581c1ca11e1c9a29d9 (diff) | |
download | protobuf-80f65d2df82cc23eb92ef5355d638b9102074190.tar.gz protobuf-80f65d2df82cc23eb92ef5355d638b9102074190.tar.bz2 protobuf-80f65d2df82cc23eb92ef5355d638b9102074190.zip |
Add note about JSON tests maybe being wrong. (#1992)
Add note about JSON tests maybe being wrong.
- Add note about the JSON test maybe not being correct yet.
- Add test to checks the generated names for double underscores to be sure they
are what is expected.
Diffstat (limited to 'conformance/conformance_test.cc')
-rw-r--r-- | conformance/conformance_test.cc | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/conformance/conformance_test.cc b/conformance/conformance_test.cc index 05ca2719..fb963f68 100644 --- a/conformance/conformance_test.cc +++ b/conformance/conformance_test.cc @@ -654,14 +654,16 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner, RunValidJsonTest("HelloWorld", "{\"optionalString\":\"Hello, World!\"}", "optional_string: 'Hello, World!'"); + // NOTE: The spec for JSON support is still being sorted out, these may not + // all be correct. // Test field name conventions. RunValidJsonTest( "FieldNameInSnakeCase", R"({ "fieldname1": 1, "fieldName2": 2, - "FieldName3": 3, - "FieldName4": 4 + "fieldName3": 3, + "fieldName4": 4 })", R"( fieldname1: 1 @@ -848,18 +850,22 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner, "optionalNestedMessage": {a: 1}, "optional_nested_message": {} })"); + // NOTE: The spec for JSON support is still being sorted out, these may not + // all be correct. // Serializers should use lowerCamelCase by default. RunValidJsonTestWithValidator( "FieldNameInLowerCamelCase", R"({ "fieldname1": 1, "fieldName2": 2, - "FieldName3": 3 + "fieldName3": 3, + "fieldName4": 4 })", [](const Json::Value& value) { return value.isMember("fieldname1") && value.isMember("fieldName2") && - value.isMember("FieldName3"); + value.isMember("fieldName3") && + value.isMember("fieldName4"); }); RunValidJsonTestWithValidator( "FieldNameWithNumbers", @@ -889,6 +895,24 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner, value.isMember("fIELDNAME11") && value.isMember("fIELDName12"); }); + RunValidJsonTestWithValidator( + "FieldNameWithDoubleUnderscores", + R"({ + "fieldName13": 13, + "fieldName14": 14, + "fieldName15": 15, + "fieldName16": 16, + "fieldName17": 17, + "fieldName18": 18 + })", + [](const Json::Value& value) { + return value.isMember("fieldName13") && + value.isMember("fieldName14") && + value.isMember("fieldName15") && + value.isMember("fieldName16") && + value.isMember("fieldName17") && + value.isMember("fieldName18"); + }); // Integer fields. RunValidJsonTest( |