@@ -108,12 +108,17 @@ fn get_github_directory_path(root_path: &path::Path) -> path::PathBuf {
108
108
}
109
109
110
110
fn is_review_template_github ( path_str : & str ) -> bool {
111
- path_str == "PULL_REQUEST_TEMPLATE.md"
112
- || path_str == "pull_request_template.md"
113
- || path_str. contains ( ".github/PULL_REQUEST_TEMPLATE" ) && path_str. ends_with ( ".md" )
114
- || path_str. contains ( ".github/pull_request_template" ) && path_str. ends_with ( ".md" )
115
- || path_str. contains ( "docs/PULL_REQUEST_TEMPLATE" ) && path_str. ends_with ( ".md" )
116
- || path_str. contains ( "docs/pull_request_template" ) && path_str. ends_with ( ".md" )
111
+ let normalized_path = path_str. replace ( '\\' , "/" ) ;
112
+ normalized_path == "PULL_REQUEST_TEMPLATE.md"
113
+ || normalized_path == "pull_request_template.md"
114
+ || normalized_path. contains ( ".github/PULL_REQUEST_TEMPLATE" )
115
+ && normalized_path. ends_with ( ".md" )
116
+ || normalized_path. contains ( ".github/pull_request_template" )
117
+ && normalized_path. ends_with ( ".md" )
118
+ || normalized_path. contains ( "docs/PULL_REQUEST_TEMPLATE" )
119
+ && normalized_path. ends_with ( ".md" )
120
+ || normalized_path. contains ( "docs/pull_request_template" )
121
+ && normalized_path. ends_with ( ".md" )
117
122
}
118
123
119
124
fn is_valid_review_template_path_github ( path : & path:: Path ) -> bool {
@@ -199,4 +204,34 @@ mod tests {
199
204
invalid_review_template_path,
200
205
) ) ;
201
206
}
207
+
208
+ #[ test]
209
+ fn test_is_valid_review_template_path_github_windows ( ) {
210
+ let valid_review_template_path_1 = Path :: new ( ".github\\ PULL_REQUEST_TEMPLATE.md" ) ;
211
+ let valid_review_template_path_2 = Path :: new ( ".github\\ pull_request_template.md" ) ;
212
+ let valid_review_template_path_3 =
213
+ Path :: new ( ".github\\ PULL_REQUEST_TEMPLATE\\ something.md" ) ;
214
+ let valid_review_template_path_4 = Path :: new ( ".docs\\ PULL_REQUEST_TEMPLATE.md" ) ;
215
+ let valid_review_template_path_5 = Path :: new ( "PULL_REQUEST_TEMPLATE.md" ) ;
216
+ let invalid_review_template_path = Path :: new ( "README.md" ) ;
217
+
218
+ assert ! ( is_valid_review_template_path_github(
219
+ valid_review_template_path_1,
220
+ ) ) ;
221
+ assert ! ( is_valid_review_template_path_github(
222
+ valid_review_template_path_2,
223
+ ) ) ;
224
+ assert ! ( is_valid_review_template_path_github(
225
+ valid_review_template_path_3,
226
+ ) ) ;
227
+ assert ! ( is_valid_review_template_path_github(
228
+ valid_review_template_path_4,
229
+ ) ) ;
230
+ assert ! ( is_valid_review_template_path_github(
231
+ valid_review_template_path_5,
232
+ ) ) ;
233
+ assert ! ( !is_valid_review_template_path_github(
234
+ invalid_review_template_path,
235
+ ) ) ;
236
+ }
202
237
}
0 commit comments