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 93
|
# shellcheck shell=bash
source "$BATS_TEST_DIRNAME/test_util.sh"
setup_file() {
test_util.setup_file
}
setup() {
test_util.cd_test
test_util.git_init
git commit --allow-empty -m "Initial commit"
git branch A
git branch B
git checkout A
printf '%s\n' 'a' > tmpfile
git add .
git commit -m A
git checkout B
printf '%s\n' 'b' > tmpfile
git add .
git commit -m B
git status
}
@test "works with cherry pick" {
run git cherry-pick A
assert_failure
run git status
assert_line -p 'You are currently cherry-picking commit'
assert_line -p 'Unmerged paths:'
assert_success
run git abort
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 'You have unmerged paths'
assert_line -p 'Unmerged paths:'
assert_success
run git abort
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 'You are currently rebasing branch'
assert_line -p 'Unmerged paths:'
assert_success
run git abort
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 'You are currently reverting commit'
assert_line -p 'Unmerged paths:'
assert_success
run git abort
assert_success
run git status
assert_line -p 'nothing to commit, working tree clean'
assert_success
}
|