From 1747f04c528f04f9daa2d77885cc3c27d2553674 Mon Sep 17 00:00:00 2001 From: Krasimir Georgiev Date: Thu, 29 Jun 2017 13:30:41 +0000 Subject: [clang-format] Fix parsing of msg{field}-style proto options Summary: This patch makes the `{` in `msg_field{field: OK}` in a proto option scope be treated as an assignment operator. Previosly the added test case was formatted as: ``` option (MyProto.options) = { field_a: OK field_b{field_c: OK} field_d: OKOKOK field_e: OK } ``` Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D34749 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306672 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/Format/FormatTestProto.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'unittests') diff --git a/unittests/Format/FormatTestProto.cpp b/unittests/Format/FormatTestProto.cpp index 0b052bd4c6..2e3b9311d1 100644 --- a/unittests/Format/FormatTestProto.cpp +++ b/unittests/Format/FormatTestProto.cpp @@ -201,6 +201,12 @@ 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" @@ -208,6 +214,13 @@ TEST_F(FormatTestProto, FormatsOptions) { " msg_field: \n" "};"); + verifyFormat("option (MyProto.options) = {\n" + " field_a: OK\n" + " field_b\n" + " field_d: OKOKOK\n" + " field_e: OK\n" + "}"); + verifyFormat("option (MyProto.options) = {\n" " msg_field: <>\n" " field_c: \"OK\",\n" -- cgit v1.2.3