diff options
Diffstat (limited to 'unittests/ASTMatchers/ASTMatchersTest.cpp')
-rw-r--r-- | unittests/ASTMatchers/ASTMatchersTest.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/unittests/ASTMatchers/ASTMatchersTest.cpp b/unittests/ASTMatchers/ASTMatchersTest.cpp index dcebbc9f3d..7f1f083129 100644 --- a/unittests/ASTMatchers/ASTMatchersTest.cpp +++ b/unittests/ASTMatchers/ASTMatchersTest.cpp @@ -2013,6 +2013,19 @@ TEST(Member, MatchesInMemberFunctionCall) { memberExpression(member(hasName("first"))))); } +TEST(Member, MatchesMemberAllocationFunction) { + EXPECT_TRUE(matches("namespace std { typedef unsigned long size_t; }" + "class X { void *operator new(std::size_t); };", + method(ofClass(hasName("X"))))); + + EXPECT_TRUE(matches("class X { void operator delete(void*); };", + method(ofClass(hasName("X"))))); + + EXPECT_TRUE(matches("namespace std { typedef unsigned long size_t; }" + "class X { void operator delete[](void*, std::size_t); };", + method(ofClass(hasName("X"))))); +} + TEST(HasObjectExpression, DoesNotMatchMember) { EXPECT_TRUE(notMatches( "class X {}; struct Z { X m; }; void f(Z z) { z.m; }", |