aboutsummaryrefslogtreecommitdiff
path: root/unittests/Format/FormatTestProto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/Format/FormatTestProto.cpp')
-rw-r--r--unittests/Format/FormatTestProto.cpp172
1 files changed, 172 insertions, 0 deletions
diff --git a/unittests/Format/FormatTestProto.cpp b/unittests/Format/FormatTestProto.cpp
index d174c65a1f32..2e3b9311d12c 100644
--- a/unittests/Format/FormatTestProto.cpp
+++ b/unittests/Format/FormatTestProto.cpp
@@ -61,6 +61,29 @@ TEST_F(FormatTestProto, FormatsMessages) {
" really.really.long.qualified.type.aaa.aaaaaaa.aaaaaaaa\n"
" another_fiiiiiiiiiiiiiiiiiiiiield = 2;\n"
"}");
+ verifyFormat("message SomeMessage {\n"
+ " map<string, Project> projects = 1;\n"
+ " optional map<string, int32> size_projects = 2;\n"
+ " map<int, really.really.really.long.qualified.type.nameeee>\n"
+ " projects = 3;\n"
+ " map<int, really.really.really.really.long.qualified.type\n"
+ " .nameeee> projects = 4;\n"
+ " map<int,\n"
+ " reallyreallyreallyreallyreallyreallyreallylongname>\n"
+ " projects = 5;\n"
+ " map<int, Project>\n"
+ " longlonglonglonglonglonglonglonglonglongonglon = 6;\n"
+ " map<releleallyreallyreallyreallyreallyreallyreallylongname,\n"
+ " int> projects = 7;\n"
+ " map<releleallyreallyreallyreallyreallyreallyreallylongname,\n"
+ " releleallyreallyreallyreallyreallyreallyreallylongname>\n"
+ " releleallyreallyreallyreallyreallyreallyreallylongnam =\n"
+ " 8;\n"
+ " map<relele.llyreal.yreallyr.allyreally.eallyreal\n"
+ " .sauenirylongname,\n"
+ " really.really.really.really.long.qualified.type\n"
+ " .nameeee> projects = 9;\n"
+ "}");
}
TEST_F(FormatTestProto, KeywordsInOtherLanguages) {
@@ -178,12 +201,161 @@ TEST_F(FormatTestProto, FormatsOptions) {
" field_c: \"OK\"\n"
" msg_field{field_d: 123}\n"
"};");
+ verifyFormat("option (MyProto.options) = {\n"
+ " field_a: OK\n"
+ " field_b{field_c: OK}\n"
+ " field_d: OKOKOK\n"
+ " field_e: OK\n"
+ "}");
// Support syntax with <> instead of {}.
verifyFormat("option (MyProto.options) = {\n"
" field_c: \"OK\",\n"
" msg_field: <field_d: 123>\n"
"};");
+
+ verifyFormat("option (MyProto.options) = {\n"
+ " field_a: OK\n"
+ " field_b<field_c: OK>\n"
+ " field_d: OKOKOK\n"
+ " field_e: OK\n"
+ "}");
+
+ verifyFormat("option (MyProto.options) = {\n"
+ " msg_field: <>\n"
+ " field_c: \"OK\",\n"
+ " msg_field: <field_d: 123>\n"
+ " field_e: OK\n"
+ " msg_field: <field_d: 12>\n"
+ "};");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: OK\n"
+ " field_b: \"OK\"\n"
+ " field_c: 1\n"
+ " field_d: 12.5\n"
+ " field_e: OK\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: OK,\n"
+ " field_b: \"OK\",\n"
+ " field_c: 1,\n"
+ " field_d: 12.5,\n"
+ " field_e: OK,\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: \"OK\"\n"
+ " msg_field: {field_b: OK}\n"
+ " field_g: OK\n"
+ " field_g: OK\n"
+ " field_g: OK\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: \"OK\"\n"
+ " msg_field<\n"
+ " field_b: OK\n"
+ " field_c: OK\n"
+ " field_d: OK\n"
+ " field_e: OK\n"
+ " field_f: OK\n"
+ " >\n"
+ " field_g: OK\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: \"OK\"\n"
+ " msg_field<\n"
+ " field_b: OK,\n"
+ " field_c: OK,\n"
+ " field_d: OK,\n"
+ " field_e: OK,\n"
+ " field_f: OK\n"
+ " >\n"
+ " field_g: OK\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: \"OK\"\n"
+ " msg_field: <\n"
+ " field_b: OK\n"
+ " field_c: OK\n"
+ " field_d: OK\n"
+ " field_e: OK\n"
+ " field_f: OK\n"
+ " >\n"
+ " field_g: OK\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: \"OK\"\n"
+ " msg_field: {\n"
+ " field_b: OK\n"
+ " field_c: OK\n"
+ " field_d: OK\n"
+ " field_e: OK\n"
+ " field_f: OK\n"
+ " }\n"
+ " field_g: OK\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: \"OK\"\n"
+ " msg_field{\n"
+ " field_b: OK\n"
+ " field_c: OK\n"
+ " field_d: OK\n"
+ " field_e: OK\n"
+ " field_f: OK\n"
+ " }\n"
+ " field_g: OK\n"
+ ">;");
+
+ verifyFormat("option (MyProto.options) = {\n"
+ " field_a: \"OK\"\n"
+ " msg_field<\n"
+ " field_b: OK\n"
+ " field_c: OK\n"
+ " field_d: OK\n"
+ " field_e: OK\n"
+ " field_f: OK\n"
+ " >\n"
+ " field_g: OK\n"
+ "};");
+
+ verifyFormat("option (MyProto.options) = {\n"
+ " field_a: \"OK\"\n"
+ " msg_field: <\n"
+ " field_b: OK\n"
+ " field_c: OK\n"
+ " field_d: OK\n"
+ " field_e: OK\n"
+ " field_f: OK\n"
+ " >\n"
+ " field_g: OK\n"
+ "};");
+
+ verifyFormat("option (MyProto.options) = <\n"
+ " field_a: \"OK\"\n"
+ " msg_field{\n"
+ " field_b: OK\n"
+ " field_c: OK\n"
+ " field_d: OK\n"
+ " msg_field<\n"
+ " field_A: 1\n"
+ " field_B: 2\n"
+ " field_C: 3\n"
+ " field_D: 4\n"
+ " field_E: 5\n"
+ " >\n"
+ " msg_field<field_A: 1 field_B: 2 field_C: 3 field_D: 4>\n"
+ " field_e: OK\n"
+ " field_f: OK\n"
+ " }\n"
+ " field_g: OK\n"
+ ">;");
}
TEST_F(FormatTestProto, FormatsService) {