diff options
author | dim <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
commit | 173a4f43a911175643bda81ee675e8d9269056ea (patch) | |
tree | 47df2c12b57214af6c31e47404b005675b8b7ffc /unittests/AST/ASTTypeTraitsTest.cpp | |
parent | 88f7a7d5251a2d813460274c92decc143a11569b (diff) | |
download | FreeBSD-src-173a4f43a911175643bda81ee675e8d9269056ea.zip FreeBSD-src-173a4f43a911175643bda81ee675e8d9269056ea.tar.gz |
Vendor import of clang RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_350/final@216957
Diffstat (limited to 'unittests/AST/ASTTypeTraitsTest.cpp')
-rw-r--r-- | unittests/AST/ASTTypeTraitsTest.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/unittests/AST/ASTTypeTraitsTest.cpp b/unittests/AST/ASTTypeTraitsTest.cpp index dd73b52..0e73f76 100644 --- a/unittests/AST/ASTTypeTraitsTest.cpp +++ b/unittests/AST/ASTTypeTraitsTest.cpp @@ -9,8 +9,8 @@ #include "clang/AST/ASTTypeTraits.h" -#include "gtest/gtest.h" #include "MatchVerifier.h" +#include "gtest/gtest.h" using namespace clang::ast_matchers; @@ -34,6 +34,19 @@ TEST(ASTNodeKind, Bases) { EXPECT_TRUE(DNT<Decl>().isSame(DNT<Decl>())); } +TEST(ASTNodeKind, BaseDistances) { + unsigned Distance = 1; + EXPECT_TRUE(DNT<Expr>().isBaseOf(DNT<Expr>(), &Distance)); + EXPECT_EQ(0u, Distance); + + EXPECT_TRUE(DNT<Stmt>().isBaseOf(DNT<IfStmt>(), &Distance)); + EXPECT_EQ(1u, Distance); + + Distance = 3; + EXPECT_TRUE(DNT<DeclaratorDecl>().isBaseOf(DNT<ParmVarDecl>(), &Distance)); + EXPECT_EQ(2u, Distance); +} + TEST(ASTNodeKind, SameBase) { EXPECT_TRUE(DNT<Expr>().isBaseOf(DNT<CallExpr>())); EXPECT_TRUE(DNT<Expr>().isBaseOf(DNT<BinaryOperator>())); |