]> granicus.if.org Git - clang/commitdiff
Make the negative test more specific.
authorSamuel Benzaquen <sbenza@google.com>
Fri, 22 Nov 2013 23:05:57 +0000 (23:05 +0000)
committerSamuel Benzaquen <sbenza@google.com>
Fri, 22 Nov 2013 23:05:57 +0000 (23:05 +0000)
Summary:
Make the negative test more specific.
Otherwise it can accidentally match injected code.

Reviewers: aaron.ballman

CC: klimek, cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D2257

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195512 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/ASTMatchers/Dynamic/RegistryTest.cpp

index dad9499ad4baa78c5d81b0ae16266730f23d86ed..8694c642cd5e91469917c649c6009bb2dd4907a3 100644 (file)
@@ -296,16 +296,16 @@ TEST_F(RegistryTest, VariadicOp) {
   EXPECT_TRUE(matches("class Bar{};", D));
   EXPECT_FALSE(matches("class OtherBar{};", D));
 
-  D = constructMatcher(
-      "recordDecl",
+  D = recordDecl(
+      has(fieldDecl(hasName("Foo"))),
       constructMatcher(
           "unless",
           constructMatcher("namedDecl",
-                           constructMatcher("hasName", std::string("Bar")))))
-          .getTypedMatcher<Decl>();
+                           constructMatcher("hasName", std::string("Bar"))))
+          .getTypedMatcher<Decl>());
 
-  EXPECT_FALSE(matches("class Bar{};", D));
-  EXPECT_TRUE(matches("class OtherBar{};", D));
+  EXPECT_FALSE(matches("class Bar{ int Foo; };", D));
+  EXPECT_TRUE(matches("class OtherBar{ int Foo; };", D));
 }
 
 TEST_F(RegistryTest, Errors) {