Skip to content

Commit b649bcf

Browse files
authored
Merge pull request #8137 from gitbutlerapp/e-branch-17
pr template: be nice and handle windows paths
2 parents 13061fb + dd723c1 commit b649bcf

File tree

1 file changed

+41
-6
lines changed

1 file changed

+41
-6
lines changed

crates/gitbutler-forge/src/review.rs

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,17 @@ fn get_github_directory_path(root_path: &path::Path) -> path::PathBuf {
108108
}
109109

110110
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")
117122
}
118123

119124
fn is_valid_review_template_path_github(path: &path::Path) -> bool {
@@ -199,4 +204,34 @@ mod tests {
199204
invalid_review_template_path,
200205
));
201206
}
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+
}
202237
}

0 commit comments

Comments
 (0)