File: git-abort.bats

package info (click to toggle)
git-extras 7.4.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 2,120 kB
  • sloc: sh: 4,312; python: 994; makefile: 146
file content (93 lines) | stat: -rw-r--r-- 1,616 bytes parent folder | download
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
}