@@ -33,8 +33,8 @@ mod unit {
33
33
let ( include_patterns_filters, exclude_patterns_filters) = categorize_filters ( filters) ;
34
34
assert_eq ! ( include_patterns_filters. len( ) , 1 ) ;
35
35
assert_eq ! ( exclude_patterns_filters. len( ) , 1 ) ;
36
- assert_eq ! ( include_patterns_filters[ 0 ] . pattern , "*.rs" ) ;
37
- assert_eq ! ( exclude_patterns_filters[ 0 ] . pattern , "test/*.rs" ) ;
36
+ assert_eq ! ( include_patterns_filters. contains ( "*.rs" ) , true ) ;
37
+ assert_eq ! ( exclude_patterns_filters. contains ( "test/*.rs" ) , true ) ;
38
38
}
39
39
40
40
#[ test]
@@ -44,25 +44,15 @@ mod unit {
44
44
String :: from( "lib.rs" ) ,
45
45
String :: from( "test.txt" ) ,
46
46
] ;
47
- let include_patterns_filters = vec ! [
48
- PatternFilter {
49
- pattern: String :: from( "*.rs" ) ,
50
- exclude: false ,
51
- } ,
52
- PatternFilter {
53
- pattern: String :: from( "src/**" ) ,
54
- exclude: false ,
55
- } ,
56
- PatternFilter {
57
- pattern: String :: from( "*.txt" ) ,
58
- exclude: false ,
59
- } ,
60
- ] ;
61
- let exclude_patterns_filters = vec ! [ PatternFilter {
62
- pattern: String :: from( "test.txt" ) ,
63
- exclude: true ,
64
- } ] ;
65
- let filtered_files = filter ( files, include_patterns_filters, exclude_patterns_filters) ;
47
+ let include_patterns_filters = HashSet :: from ( [
48
+ String :: from ( "*.rs" ) ,
49
+ String :: from ( "src/**" ) ,
50
+ String :: from ( "*.txt" ) ,
51
+ ] ) ;
52
+ let exclude_patterns_filters = HashSet :: from ( [
53
+ String :: from ( "test.txt" )
54
+ ] ) ;
55
+ let filtered_files = filter_files ( files, include_patterns_filters, exclude_patterns_filters) ;
66
56
let expected_filtered_files = HashSet :: from ( [
67
57
String :: from ( "src/main.rs" ) ,
68
58
String :: from ( "lib.rs" ) ,
@@ -71,44 +61,15 @@ mod unit {
71
61
assert_eq ! ( filtered_files, expected_filtered_files) ;
72
62
}
73
63
74
- #[ test]
75
- fn test_filter_files_by_pattern ( ) {
76
- let pattern_filter = PatternFilter {
77
- pattern : String :: from ( "*.rs" ) ,
78
- exclude : false ,
79
- } ;
80
- let files = vec ! [
81
- String :: from( "main.rs" ) ,
82
- String :: from( "lib.rs" ) ,
83
- String :: from( "test.txt" ) ,
84
- ] ;
85
- let filtered = filter_files_by_pattern ( & pattern_filter, & files, & Vec :: new ( ) ) ;
86
- assert_eq ! (
87
- filtered,
88
- vec![ String :: from( "main.rs" ) , String :: from( "lib.rs" ) ]
89
- ) ;
90
- }
91
-
92
64
#[ test]
93
65
fn test_filter_exclude_files_exclusion ( ) {
94
- let mut filtered_files: Vec < String > = Vec :: new ( ) ;
95
- let mut exclude_patterns_filters: Vec < PatternFilter > = Vec :: new ( ) ;
96
- let mut include_patterns_filters: Vec < PatternFilter > = Vec :: new ( ) ;
97
-
98
- include_patterns_filters. push ( PatternFilter {
99
- pattern : String :: from ( "*.rs" ) ,
100
- exclude : false ,
101
- } ) ;
102
-
103
- include_patterns_filters. push ( PatternFilter {
104
- pattern : String :: from ( "*.txt" ) ,
105
- exclude : false ,
106
- } ) ;
107
-
108
- exclude_patterns_filters. push ( PatternFilter {
109
- pattern : String :: from ( "test.txt" ) ,
110
- exclude : true ,
111
- } ) ;
66
+ let exclude_patterns_filters = HashSet :: from ( [
67
+ String :: from ( "test.txt" ) ,
68
+ ] ) ;
69
+ let include_patterns_filters = HashSet :: from ( [
70
+ String :: from ( "*.rs" ) ,
71
+ String :: from ( "*.txt" ) ,
72
+ ] ) ;
112
73
113
74
let files = vec ! [
114
75
String :: from( "main.rs" ) ,
@@ -117,14 +78,14 @@ mod unit {
117
78
String :: from( "test.txt" ) ,
118
79
] ;
119
80
120
- for pattern in include_patterns_filters. iter ( ) {
121
- filtered_files. extend ( filter_files_by_pattern ( & pattern, & files, & exclude_patterns_filters) ) ;
122
- }
81
+ let filtered_files = filter_files ( files, include_patterns_filters, exclude_patterns_filters) ;
82
+ let expected_filtered_files = HashSet :: from ( [
83
+ String :: from ( "main.rs" ) ,
84
+ String :: from ( "lib.rs" ) ,
85
+ String :: from ( "version.txt" ) ,
86
+ ] ) ;
123
87
124
- assert_eq ! (
125
- filtered_files,
126
- vec![ String :: from( "main.rs" ) , String :: from( "lib.rs" ) , String :: from( "version.txt" ) ]
127
- ) ;
88
+ assert_eq ! ( filtered_files, expected_filtered_files) ;
128
89
}
129
90
130
91
#[ test]
0 commit comments