|
@@ -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(
|