summaryrefslogtreecommitdiff
path: root/.config/fisher/github.com/matchai/spacefish/tests/__sf_section_git_status.test.fish
blob: 91c6fd5d9b822e94401a78636f7353a935b89d9b (plain)
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
source $DIRNAME/spacefish_test_setup.fish

function setup
	spacefish_test_setup
	mkdir -p /tmp/tmp-spacefish
	cd /tmp/tmp-spacefish
	command git init >/dev/null
	command git config --local user.email "test@example.com"
	command git config --local user.name "Test User"
end

function teardown
	rm -rf /tmp/tmp-spacefish
end

test "Displays no status symbols in a clean repo"
	() = (__sf_section_git_status)
end

test "Displays the correct symbol for untracked file"
	(
		touch testfile

		set_color --bold
		set_color normal
		set_color --bold red
		echo -n " [?]"
		set_color normal
		set_color --bold
		set_color normal
	) = (__sf_section_git_status)
end

test "Displays the correct symbol for added file"
	(
		touch testfile
		command git add testfile

		set_color --bold
		set_color normal
		set_color --bold red
		echo -n " [+]"
		set_color normal
		set_color --bold
		set_color normal
	) = (__sf_section_git_status)
end

test "Displays the correct symbol for modified file"
	(
		touch testfile
		command git add testfile
		command git commit -m "Initial commit" --quiet
		echo "modification" > testfile

		set_color --bold
		set_color normal
		set_color --bold red
		echo -n " [!]"
		set_color normal
		set_color --bold
		set_color normal
	) = (__sf_section_git_status)
end

test "Displays the correct symbol for renamed file"
	(
		touch testfile
		command git add testfile
		command git commit -m "Initial commit" --quiet
		mv testfile newtestfile
		command git add testfile newtestfile

		set_color --bold
		set_color normal
		set_color --bold red
		echo -n " [»]"
		set_color normal
		set_color --bold
		set_color normal
	) = (__sf_section_git_status)
end

test "Displays the correct symbol for deleted file"
	(
		touch testfile
		command git add testfile
		command git commit -m "Initial commit" --quiet
		rm testfile
		command git add testfile

		set_color --bold
		set_color normal
		set_color --bold red
		echo -n " [✘]"
		set_color normal
		set_color --bold
		set_color normal
	) = (__sf_section_git_status)
end

test "Displays the correct symbol for stashed file"
	(
		touch testfile
		command git add testfile
		command git commit -m "Initial commit" --quiet
		echo "modification" > testfile
		command git stash --quiet

		set_color --bold
		set_color normal
		set_color --bold red
		echo -n " [\$]"
		set_color normal
		set_color --bold
		set_color normal
	) = (__sf_section_git_status)
end

test "Test config option SPACEFISH_GIT_STATUS_SHOW"
	(
		set -g SPACEFISH_GIT_STATUS_SHOW false
	) = (__sf_section_git_status)
end

# TODO: Get test dir into status *U*
# TODO: Add test for ahead
# TODO: Add test for behind
# TODO: Add test for diverged