| #!/bin/sh | 
 |  | 
 | test_description='Test git stash show configuration.' | 
 |  | 
 | . ./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 |