@@ -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