Skip to content

Commit b004fd5

Browse files
committed
tests: cover get_branch_upstream_merge
1 parent 16c7c3c commit b004fd5

File tree

1 file changed

+43
-0
lines changed
  • asyncgit/src/sync/branch

1 file changed

+43
-0
lines changed

asyncgit/src/sync/branch/mod.rs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,49 @@ mod tests_branches {
692692

693693
assert!(get_branch_remote(repo_path, "foo").is_err());
694694
}
695+
696+
#[test]
697+
fn test_branch_no_upstream_merge_config() {
698+
let (_r, repo) = repo_init().unwrap();
699+
let root = repo.path().parent().unwrap();
700+
let repo_path: &RepoPath =
701+
&root.as_os_str().to_str().unwrap().into();
702+
703+
let upstream_merge_res =
704+
get_branch_upstream_merge(&repo_path, "master");
705+
assert!(
706+
upstream_merge_res.is_ok_and(|v| v.as_ref().is_none())
707+
);
708+
}
709+
710+
#[test]
711+
fn test_branch_with_upstream_merge_config() {
712+
let (_r, repo) = repo_init().unwrap();
713+
let root = repo.path().parent().unwrap();
714+
let repo_path: &RepoPath =
715+
&root.as_os_str().to_str().unwrap().into();
716+
717+
let branch_name = "master";
718+
let upstrem_merge = "refs/heads/master";
719+
720+
let mut config = repo.config().unwrap();
721+
config
722+
.set_str(
723+
&format!("branch.{branch_name}.merge"),
724+
&upstrem_merge,
725+
)
726+
.expect("fail set branch merge config");
727+
728+
let upstream_merge_res =
729+
get_branch_upstream_merge(&repo_path, &branch_name);
730+
assert!(upstream_merge_res
731+
.as_ref()
732+
.is_ok_and(|v| v.as_ref().is_some()));
733+
assert_eq!(
734+
&upstream_merge_res.unwrap().unwrap(),
735+
upstrem_merge
736+
);
737+
}
695738
}
696739

697740
#[cfg(test)]

0 commit comments

Comments
 (0)