#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
#

test_description='Pathnames with funny characters.

This test tries pathnames with funny characters in the working
tree, index, and tree objects.
'

. ./test-lib.sh

HT='	'

echo 2>/dev/null > "Name with an${HT}HT"
if ! test -f "Name with an${HT}HT"
then
	# since FAT/NTFS does not allow tabs in filenames, skip this test
	skip_all='Your filesystem does not allow tabs in filenames'
	test_done
fi

p0='no-funny'
p1='tabs	," (dq) and spaces'
p2='just space'

test_expect_success 'setup' '
	cat >"$p0" <<-\EOF &&
	1. A quick brown fox jumps over the lazy cat, oops dog.
	2. A quick brown fox jumps over the lazy cat, oops dog.
	3. A quick brown fox jumps over the lazy cat, oops dog.
	EOF

	{ cat "$p0" >"$p1" || :; } &&
	{ echo "Foo Bar Baz" >"$p2" || :; }
'

test_expect_success 'setup: populate index and tree' '
	git update-index --add "$p0" "$p2" &&
	t0=$(git write-tree)
'

test_expect_success 'ls-files prints space in filename verbatim' '
	printf "%s\n" "just space" no-funny >expected &&
	git ls-files >current &&
	test_cmp expected current
'

test_expect_success 'setup: add funny filename' '
	git update-index --add "$p1" &&
	t1=$(git write-tree)
'

test_expect_success 'ls-files quotes funny filename' '
	cat >expected <<-\EOF &&
	just space
	no-funny
	"tabs\t,\" (dq) and spaces"
	EOF
	git ls-files >current &&
	test_cmp expected current
'

test_expect_success 'ls-files -z does not quote funny filename' '
	cat >expected <<-\EOF &&
	just space
	no-funny
	tabs	," (dq) and spaces
	EOF
	git ls-files -z >ls-files.z &&
	"$PERL_PATH" -pe "y/\000/\012/" <ls-files.z >current &&
	test_cmp expected current
'

test_expect_success 'ls-tree quotes funny filename' '
	cat >expected <<-\EOF &&
	just space
	no-funny
	"tabs\t,\" (dq) and spaces"
	EOF
	git ls-tree -r $t1 >ls-tree &&
	sed -e "s/^[^	]*	//" <ls-tree >current &&
	test_cmp expected current
'

test_expect_success 'diff-index --name-status quotes funny filename' '
	cat >expected <<-\EOF &&
	A	"tabs\t,\" (dq) and spaces"
	EOF
	git diff-index --name-status $t0 >current &&
	test_cmp expected current
'

test_expect_success 'diff-tree --name-status quotes funny filename' '
	cat >expected <<-\EOF &&
	A	"tabs\t,\" (dq) and spaces"
	EOF
	git diff-tree --name-status $t0 $t1 >current &&
	test_cmp expected current
'

test_expect_success 'diff-index -z does not quote funny filename' '
	cat >expected <<-\EOF &&
	A
	tabs	," (dq) and spaces
	EOF
	git diff-index -z --name-status $t0 >diff-index.z &&
	"$PERL_PATH" -pe "y/\000/\012/" <diff-index.z >current &&
	test_cmp expected current
'

test_expect_success 'diff-tree -z does not quote funny filename' '
	cat >expected <<-\EOF &&
	A
	tabs	," (dq) and spaces
	EOF
	git diff-tree -z --name-status $t0 $t1 >diff-tree.z &&
	"$PERL_PATH" -pe y/\\000/\\012/ <diff-tree.z >current &&
	test_cmp expected current
'

test_expect_success 'diff-tree --find-copies-harder quotes funny filename' '
	cat >expected <<-\EOF &&
	CNUM	no-funny	"tabs\t,\" (dq) and spaces"
	EOF
	git diff-tree -C --find-copies-harder --name-status $t0 $t1 >out &&
	sed -e "s/^C[0-9]*/CNUM/" <out >current &&
	test_cmp expected current
'

test_expect_success 'setup: remove unfunny index entry' '
	git update-index --force-remove "$p0"
'

test_expect_success 'diff-tree -M quotes funny filename' '
	cat >expected <<-\EOF &&
	RNUM	no-funny	"tabs\t,\" (dq) and spaces"
	EOF
	git diff-index -M --name-status $t0 >out &&
	sed -e "s/^R[0-9]*/RNUM/" <out >current &&
	test_cmp expected current
'

test_expect_success 'diff-index -M -p quotes funny filename' '
	cat >expected <<-\EOF &&
	diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
	similarity index NUM%
	rename from no-funny
	rename to "tabs\t,\" (dq) and spaces"
	EOF
	git diff-index -M -p $t0 >diff &&
	sed -e "s/index [0-9]*%/index NUM%/" <diff >current &&
	test_cmp expected current
'

test_expect_success 'setup: mode change' '
	chmod +x "$p1"
'

test_expect_success 'diff-index -M -p with mode change quotes funny filename' '
	cat >expected <<-\EOF &&
	diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
	old mode 100644
	new mode 100755
	similarity index NUM%
	rename from no-funny
	rename to "tabs\t,\" (dq) and spaces"
	EOF
	git diff-index -M -p $t0 >diff &&
	sed -e "s/index [0-9]*%/index NUM%/" <diff >current &&
	test_cmp expected current
'

test_expect_success 'diffstat for rename quotes funny filename' '
	cat >expected <<-\EOF &&
	 "tabs\t,\" (dq) and spaces"
	 1 file changed, 0 insertions(+), 0 deletions(-)
	EOF
	git diff-index -M -p $t0 >diff &&
	git apply --stat <diff >diffstat &&
	sed -e "s/|.*//" -e "s/ *\$//" <diffstat >current &&
	test_i18ncmp expected current
'

test_expect_success 'numstat for rename quotes funny filename' '
	cat >expected <<-\EOF &&
	0	0	"tabs\t,\" (dq) and spaces"
	EOF
	git diff-index -M -p $t0 >diff &&
	git apply --numstat <diff >current &&
	test_cmp expected current
'

test_expect_success 'numstat without -M quotes funny filename' '
	cat >expected <<-\EOF &&
	0	3	no-funny
	3	0	"tabs\t,\" (dq) and spaces"
	EOF
	git diff-index -p $t0 >diff &&
	git apply --numstat <diff >current &&
	test_cmp expected current
'

test_expect_success 'numstat for non-git rename diff quotes funny filename' '
	cat >expected <<-\EOF &&
	0	3	no-funny
	3	0	"tabs\t,\" (dq) and spaces"
	EOF
	git diff-index -p $t0 >git-diff &&
	sed -ne "/^[-+@]/p" <git-diff >diff &&
	git apply --numstat <diff >current &&
	test_cmp expected current
'

test_done
