mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 07:26:17 -04:00
* Mostly finish pytest to Bats conversion * Add Bats version note to testing docs * Move Bats CI check to separate job
93 lines
1.5 KiB
Bash
Executable file
93 lines
1.5 KiB
Bash
Executable file
#!/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
|
|
}
|