stash: add tests for `git stash show` config
This commit introduces tests for `git stash show` config. It tests all the cases where `stash.showStat` and `stash.showPatch` are unset or set to true / false. Signed-off-by: Paul-Sebastian Ungureanu <ungureanupaulsebastian@gmail.com> Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Paul-Sebastian Ungureanu committed
Feb 25, 2019 at 23:16 UTC
dac566c507baeb4921e1b8ad8d39e8145ca80c12
1 file changed
+83
t/t3907-stash-show-config.sh
new
+83
@@ -0,0 +1,83 @@
1
+#!/bin/sh
2
+
3
+test_description='Test git stash show configuration.'
4
+
5
+. ./test-lib.sh
6
+
7
+test_expect_success 'setup' '
8
+ test_commit file
9
+'
10
+
11
+# takes three parameters:
12
+# 1. the stash.showStat value (or "<unset>")
13
+# 2. the stash.showPatch value (or "<unset>")
14
+# 3. the diff options of the expected output (or nothing for no output)
15
+test_stat_and_patch () {
16
+ if test "<unset>" = "$1"
17
+ then
18
+ test_unconfig stash.showStat
19
+ else
20
+ test_config stash.showStat "$1"
21
+ fi &&
22
+
23
+ if test "<unset>" = "$2"
24
+ then
25
+ test_unconfig stash.showPatch
26
+ else
27
+ test_config stash.showPatch "$2"
28
+ fi &&
29
+
30
+ shift 2 &&
31
+ echo 2 >file.t &&
32
+ if test $# != 0
33
+ then
34
+ git diff "$@" >expect
35
+ fi &&
36
+ git stash &&
37
+ git stash show >actual &&
38
+
39
+ if test $# = 0
40
+ then
41
+ test_must_be_empty actual
42
+ else
43
+ test_cmp expect actual
44
+ fi
45
+}
46
+
47
+test_expect_success 'showStat unset showPatch unset' '
48
+ test_stat_and_patch "<unset>" "<unset>" --stat
49
+'
50
+
51
+test_expect_success 'showStat unset showPatch false' '
52
+ test_stat_and_patch "<unset>" false --stat
53
+'
54
+
55
+test_expect_success 'showStat unset showPatch true' '
56
+ test_stat_and_patch "<unset>" true --stat -p
57
+'
58
+
59
+test_expect_success 'showStat false showPatch unset' '
60
+ test_stat_and_patch false "<unset>"
61
+'
62
+
63
+test_expect_success 'showStat false showPatch false' '
64
+ test_stat_and_patch false false
65
+'
66
+
67
+test_expect_success 'showStat false showPatch true' '
68
+ test_stat_and_patch false true -p
69
+'
70
+
71
+test_expect_success 'showStat true showPatch unset' '
72
+ test_stat_and_patch true "<unset>" --stat
73
+'
74
+
75
+test_expect_success 'showStat true showPatch false' '
76
+ test_stat_and_patch true false --stat
77
+'
78
+
79
+test_expect_success 'showStat true showPatch true' '
80
+ test_stat_and_patch true true --stat -p
81
+'
82
+
83
+test_done