diff options
Diffstat (limited to 'clang/unittests/Format/TokenAnnotatorTest.cpp')
-rw-r--r-- | clang/unittests/Format/TokenAnnotatorTest.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/unittests/Format/TokenAnnotatorTest.cpp b/clang/unittests/Format/TokenAnnotatorTest.cpp index 3e9638d..3735316 100644 --- a/clang/unittests/Format/TokenAnnotatorTest.cpp +++ b/clang/unittests/Format/TokenAnnotatorTest.cpp @@ -3164,6 +3164,22 @@ TEST_F(TokenAnnotatorTest, CppAltOperatorKeywords) { EXPECT_TOKEN(Tokens[1], tok::identifier, TT_StartOfName); } +TEST_F(TokenAnnotatorTest, FunctionTryBlock) { + auto Tokens = + annotate("Foo::Foo(int x, int y) try\n" + " : foo{[] -> std::string { return {}; }(), x}, bar{y} {\n" + "} catch (...) {\n" + "}"); + ASSERT_EQ(Tokens.size(), 45u); + EXPECT_TOKEN(Tokens[2], tok::identifier, TT_CtorDtorDeclName); + EXPECT_TOKEN(Tokens[11], tok::colon, TT_CtorInitializerColon); + EXPECT_TOKEN(Tokens[14], tok::l_square, TT_LambdaLSquare); + EXPECT_TOKEN(Tokens[16], tok::arrow, TT_TrailingReturnArrow); + EXPECT_TOKEN(Tokens[20], tok::l_brace, TT_LambdaLBrace); + EXPECT_TOKEN(Tokens[31], tok::comma, TT_CtorInitializerComma); + EXPECT_TOKEN(Tokens[36], tok::l_brace, TT_FunctionLBrace); +} + } // namespace } // namespace format } // namespace clang |