Skip to content

Commit 9f1ac95

Browse files
committed
Add test cover case-sensitive including and excluding
1 parent bf1b445 commit 9f1ac95

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

test/Microsoft.Framework.FileSystemGlobbing.Tests/FunctionalTests.cs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,47 @@ public void DuplicatePatterns(string pattern1, string pattern2)
4242
"src/project/sub/source2.cs");
4343
}
4444

45+
[Theory]
46+
[InlineData("src/project", "source1.cs", new string[] { "source1.cs" })]
47+
[InlineData("src/project", "Source1.cs", new string[] { })]
48+
[InlineData("src/project", "compiler/preprocess/**/*.cs", new string[] { "compiler/preprocess/preprocess-source1.cs",
49+
"compiler/preprocess/sub/preprocess-source2.cs",
50+
"compiler/preprocess/sub/sub/preprocess-source3.cs" })]
51+
[InlineData("src/project", "compiler/Preprocess/**.cs", new string[] { })]
52+
public void IncludeCaseSensitive(string root, string includePattern, string[] expectedFiles)
53+
{
54+
var matcher = new Matcher();
55+
matcher.AddInclude(includePattern);
56+
57+
ExecuteAndVerify(matcher, root, expectedFiles.Select(f => root + "/" + f).ToArray());
58+
}
59+
60+
[Theory]
61+
[InlineData("src/project/compiler/preprocess/", "source.cs", new string[] { "preprocess-source1.cs",
62+
"sub/preprocess-source2.cs",
63+
"sub/sub/preprocess-source3.cs",
64+
"sub/sub/preprocess-source3.txt" })]
65+
[InlineData("src/project/compiler/preprocess/", "**/Preprocess*", new string[] { "preprocess-source1.cs",
66+
"sub/preprocess-source2.cs",
67+
"sub/sub/preprocess-source3.cs",
68+
"sub/sub/preprocess-source3.txt" })]
69+
[InlineData("src/project/compiler/preprocess/", "**/preprocess*", new string[] { })]
70+
[InlineData("src/project/compiler/preprocess/", "**/*source*.cs", new string[] { "sub/sub/preprocess-source3.txt" })]
71+
[InlineData("src/project/compiler/preprocess/", "sub/sub/*", new string[] { "preprocess-source1.cs",
72+
"sub/preprocess-source2.cs" })]
73+
[InlineData("src/project/compiler/preprocess/", "sub/Sub/*", new string[] { "preprocess-source1.cs",
74+
"sub/preprocess-source2.cs",
75+
"sub/sub/preprocess-source3.cs",
76+
"sub/sub/preprocess-source3.txt" })]
77+
public void ExcludeCaseSensitive(string root, string excludePattern, string[] expectedFiles)
78+
{
79+
var matcher = new Matcher();
80+
matcher.AddInclude("**/*.*");
81+
matcher.AddExclude(excludePattern);
82+
83+
ExecuteAndVerify(matcher, root, expectedFiles.Select(f => root + "/" + f).ToArray());
84+
}
85+
4586
[Fact]
4687
public void RecursiveAndDoubleParentsWithRecursiveSearch()
4788
{

0 commit comments

Comments
 (0)