85 lines
1.7 KiB
Bash
Executable File
85 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='Test git stash show configuration.'
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'setup' '
|
|
test_commit file
|
|
'
|
|
|
|
# takes three parameters:
|
|
# 1. the stash.showStat value (or "<unset>")
|
|
# 2. the stash.showPatch value (or "<unset>")
|
|
# 3. the diff options of the expected output (or nothing for no output)
|
|
test_stat_and_patch () {
|
|
if test "<unset>" = "$1"
|
|
then
|
|
test_unconfig stash.showStat
|
|
else
|
|
test_config stash.showStat "$1"
|
|
fi &&
|
|
|
|
if test "<unset>" = "$2"
|
|
then
|
|
test_unconfig stash.showPatch
|
|
else
|
|
test_config stash.showPatch "$2"
|
|
fi &&
|
|
|
|
shift 2 &&
|
|
echo 2 >file.t &&
|
|
if test $# != 0
|
|
then
|
|
git diff "$@" >expect
|
|
fi &&
|
|
git stash &&
|
|
git stash show >actual &&
|
|
|
|
if test $# = 0
|
|
then
|
|
test_must_be_empty actual
|
|
else
|
|
test_cmp expect actual
|
|
fi
|
|
}
|
|
|
|
test_expect_success 'showStat unset showPatch unset' '
|
|
test_stat_and_patch "<unset>" "<unset>" --stat
|
|
'
|
|
|
|
test_expect_success 'showStat unset showPatch false' '
|
|
test_stat_and_patch "<unset>" false --stat
|
|
'
|
|
|
|
test_expect_success 'showStat unset showPatch true' '
|
|
test_stat_and_patch "<unset>" true --stat -p
|
|
'
|
|
|
|
test_expect_success 'showStat false showPatch unset' '
|
|
test_stat_and_patch false "<unset>"
|
|
'
|
|
|
|
test_expect_success 'showStat false showPatch false' '
|
|
test_stat_and_patch false false
|
|
'
|
|
|
|
test_expect_success 'showStat false showPatch true' '
|
|
test_stat_and_patch false true -p
|
|
'
|
|
|
|
test_expect_success 'showStat true showPatch unset' '
|
|
test_stat_and_patch true "<unset>" --stat
|
|
'
|
|
|
|
test_expect_success 'showStat true showPatch false' '
|
|
test_stat_and_patch true false --stat
|
|
'
|
|
|
|
test_expect_success 'showStat true showPatch true' '
|
|
test_stat_and_patch true true --stat -p
|
|
'
|
|
|
|
test_done
|