gribozavr created this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
gribozavr added a reviewer: ilya-biryukov.

The last glob that matches the string decides whether that string is
included or excluded.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D66787

Files:
  clang-tools-extra/unittests/clang-tidy/GlobListTest.cpp


Index: clang-tools-extra/unittests/clang-tidy/GlobListTest.cpp
===================================================================
--- clang-tools-extra/unittests/clang-tidy/GlobListTest.cpp
+++ clang-tools-extra/unittests/clang-tidy/GlobListTest.cpp
@@ -31,7 +31,7 @@
   EXPECT_TRUE(Filter.contains("*"));
 }
 
-TEST(GlobList, Simple) {
+TEST(GlobList, OneSimplePattern) {
   GlobList Filter("aaa");
 
   EXPECT_TRUE(Filter.contains("aaa"));
@@ -41,6 +41,40 @@
   EXPECT_FALSE(Filter.contains("bbb"));
 }
 
+TEST(GlobList, TwoSimplePatterns) {
+  GlobList Filter("aaa,bbb");
+
+  EXPECT_TRUE(Filter.contains("aaa"));
+  EXPECT_TRUE(Filter.contains("bbb"));
+  EXPECT_FALSE(Filter.contains(""));
+  EXPECT_FALSE(Filter.contains("aa"));
+  EXPECT_FALSE(Filter.contains("aaaa"));
+  EXPECT_FALSE(Filter.contains("bbbb"));
+}
+
+TEST(GlobList, PatternPriority) {
+  // The last glob that matches the string decides whether that string is
+  // included or excluded.
+  {
+    GlobList Filter("a*,-aaa");
+
+    EXPECT_FALSE(Filter.contains(""));
+    EXPECT_TRUE(Filter.contains("a"));
+    EXPECT_TRUE(Filter.contains("aa"));
+    EXPECT_FALSE(Filter.contains("aaa"));
+    EXPECT_TRUE(Filter.contains("aaaa"));
+  }
+  {
+    GlobList Filter("-aaa,a*");
+
+    EXPECT_FALSE(Filter.contains(""));
+    EXPECT_TRUE(Filter.contains("a"));
+    EXPECT_TRUE(Filter.contains("aa"));
+    EXPECT_TRUE(Filter.contains("aaa"));
+    EXPECT_TRUE(Filter.contains("aaaa"));
+  }
+}
+
 TEST(GlobList, WhitespacesAtBegin) {
   GlobList Filter("-*,   a.b.*");
 


Index: clang-tools-extra/unittests/clang-tidy/GlobListTest.cpp
===================================================================
--- clang-tools-extra/unittests/clang-tidy/GlobListTest.cpp
+++ clang-tools-extra/unittests/clang-tidy/GlobListTest.cpp
@@ -31,7 +31,7 @@
   EXPECT_TRUE(Filter.contains("*"));
 }
 
-TEST(GlobList, Simple) {
+TEST(GlobList, OneSimplePattern) {
   GlobList Filter("aaa");
 
   EXPECT_TRUE(Filter.contains("aaa"));
@@ -41,6 +41,40 @@
   EXPECT_FALSE(Filter.contains("bbb"));
 }
 
+TEST(GlobList, TwoSimplePatterns) {
+  GlobList Filter("aaa,bbb");
+
+  EXPECT_TRUE(Filter.contains("aaa"));
+  EXPECT_TRUE(Filter.contains("bbb"));
+  EXPECT_FALSE(Filter.contains(""));
+  EXPECT_FALSE(Filter.contains("aa"));
+  EXPECT_FALSE(Filter.contains("aaaa"));
+  EXPECT_FALSE(Filter.contains("bbbb"));
+}
+
+TEST(GlobList, PatternPriority) {
+  // The last glob that matches the string decides whether that string is
+  // included or excluded.
+  {
+    GlobList Filter("a*,-aaa");
+
+    EXPECT_FALSE(Filter.contains(""));
+    EXPECT_TRUE(Filter.contains("a"));
+    EXPECT_TRUE(Filter.contains("aa"));
+    EXPECT_FALSE(Filter.contains("aaa"));
+    EXPECT_TRUE(Filter.contains("aaaa"));
+  }
+  {
+    GlobList Filter("-aaa,a*");
+
+    EXPECT_FALSE(Filter.contains(""));
+    EXPECT_TRUE(Filter.contains("a"));
+    EXPECT_TRUE(Filter.contains("aa"));
+    EXPECT_TRUE(Filter.contains("aaa"));
+    EXPECT_TRUE(Filter.contains("aaaa"));
+  }
+}
+
 TEST(GlobList, WhitespacesAtBegin) {
   GlobList Filter("-*,   a.b.*");
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to