From bb5b28f12fbd029773dc93d18a82ef42f4889b2a Mon Sep 17 00:00:00 2001 From: Eduardo Caldas Date: Thu, 17 Sep 2020 15:39:18 +0000 Subject: [PATCH] [SyntaxTree][Synthesis] Improve testing `createLeaf` The new test shows that `createLeaf` depends on the C++ version. Differential Revision: https://reviews.llvm.org/D87896 --- clang/unittests/Tooling/Syntax/SynthesisTest.cpp | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/clang/unittests/Tooling/Syntax/SynthesisTest.cpp b/clang/unittests/Tooling/Syntax/SynthesisTest.cpp index a882714..8d9fb70 100644 --- a/clang/unittests/Tooling/Syntax/SynthesisTest.cpp +++ b/clang/unittests/Tooling/Syntax/SynthesisTest.cpp @@ -51,6 +51,19 @@ TEST_P(SynthesisTest, Leaf_Punctuation) { )txt")); } +TEST_P(SynthesisTest, Leaf_Punctuation_CXX) { + if (!GetParam().isCXX()) + return; + + buildTree("", GetParam()); + + auto *Leaf = createLeaf(*Arena, tok::coloncolon); + + EXPECT_TRUE(treeDumpEqual(Leaf, R"txt( +'::' Detached synthesized + )txt")); +} + TEST_P(SynthesisTest, Leaf_Keyword) { buildTree("", GetParam()); @@ -61,6 +74,19 @@ TEST_P(SynthesisTest, Leaf_Keyword) { )txt")); } +TEST_P(SynthesisTest, Leaf_Keyword_CXX11) { + if (!GetParam().isCXX11OrLater()) + return; + + buildTree("", GetParam()); + + auto *Leaf = createLeaf(*Arena, tok::kw_nullptr); + + EXPECT_TRUE(treeDumpEqual(Leaf, R"txt( +'nullptr' Detached synthesized + )txt")); +} + TEST_P(SynthesisTest, Leaf_Identifier) { buildTree("", GetParam()); -- 2.7.4