1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#!/usr/bin/env bats
source "$BATS_TEST_DIRNAME/test_util.sh"
setup_file() {
test_util.setup_file
}
setup() {
test_util.cd_test
test_util.git_init
git commit -m 'Initial commit' --allow-empty
git switch -c A main
printf '%s\n' 'a' >> ./tmp_file
git add ./tmp_file
git commit -m 'A'
git switch -c B main
printf '%s\n' 'b' >> ./tmp_file
git add ./tmp_file
git commit -m 'B'
}
@test "works with cherry pick" {
run git cherry-pick A
assert_failure
run git status
assert_line -p 'Unmerged paths:'
assert_success
git add .
GIT_EDITOR=cat run git continue
assert_success
run git status
assert_line -p 'nothing to commit, working tree clean'
assert_success
}
@test "works with merge" {
run git merge A
assert_failure
run git status
assert_line -p 'Unmerged paths:'
assert_success
git add .
GIT_EDITOR=cat run git continue
assert_success
run git status
assert_line -p 'nothing to commit, working tree clean'
assert_success
}
@test "works with rebase" {
run git rebase A
assert_failure
run git status
assert_line -p 'Unmerged paths:'
assert_success
git add .
GIT_EDITOR=cat run git continue
assert_success
run git status
assert_line -p 'nothing to commit, working tree clean'
assert_success
}
@test "works with revert" {
run git revert A
assert_failure
run git status
assert_line -p 'Unmerged paths:'
assert_success
git add .
GIT_EDITOR=cat run git continue
assert_failure # TODO: Git seems to do nothing and error out?
run git status
assert_line -p 'nothing to commit, working tree clean'
assert_success
}
|