diff options
Diffstat (limited to 'clang/unittests/Format/MatchFilePathTest.cpp')
-rw-r--r-- | clang/unittests/Format/MatchFilePathTest.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/clang/unittests/Format/MatchFilePathTest.cpp b/clang/unittests/Format/MatchFilePathTest.cpp index 28f6656..346ea7c 100644 --- a/clang/unittests/Format/MatchFilePathTest.cpp +++ b/clang/unittests/Format/MatchFilePathTest.cpp @@ -164,6 +164,41 @@ TEST_F(MatchFilePathTest, Path) { EXPECT_FALSE(match("foo\\", R"(foo*\)")); } +TEST_F(MatchFilePathTest, Globstar) { + EXPECT_TRUE(match("/", "**")); + EXPECT_TRUE(match("foo", "**")); + EXPECT_TRUE(match("/foo", "**")); + EXPECT_TRUE(match("foo/", "**")); + EXPECT_TRUE(match("foo/bar", "**")); + + EXPECT_TRUE(match("/", "**/")); + EXPECT_TRUE(match("foo/", "**/")); + EXPECT_TRUE(match("/foo/", "**/")); + EXPECT_TRUE(match("foo/bar/", "**/")); + + EXPECT_TRUE(match("/", "/**")); + EXPECT_TRUE(match("/foo", "/**")); + EXPECT_TRUE(match("/foo/", "/**")); + EXPECT_TRUE(match("/foo/bar", "/**")); + + EXPECT_TRUE(match("foo", "**/foo")); + EXPECT_TRUE(match("/foo", "**/foo")); + EXPECT_TRUE(match("foo/bar", "**/bar")); + EXPECT_TRUE(match("/foo/bar", "**/foo/bar")); + EXPECT_TRUE(match("foo/bar/baz", "**/bar/baz")); + + EXPECT_TRUE(match("abc/foo", "abc/**")); + EXPECT_TRUE(match("abc/foo/", "abc/**")); + EXPECT_TRUE(match("abc/foo/bar", "abc/**")); + + EXPECT_TRUE(match("a/b", "a/**/b")); + EXPECT_TRUE(match("a/x/b", "a/**/b")); + EXPECT_TRUE(match("a/x/y/b", "a/**/b")); + + EXPECT_FALSE(match("a/x/b", "a**/b")); + EXPECT_FALSE(match("a/x/b", "a/**b")); +} + } // namespace } // namespace format } // namespace clang |