summaryrefslogtreecommitdiff
path: root/t/t3902-quoted.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/t3902-quoted.sh')
-rwxr-xr-xt/t3902-quoted.sh40
1 files changed, 29 insertions, 11 deletions
diff --git a/t/t3902-quoted.sh b/t/t3902-quoted.sh
index 5868052425..892f567844 100755
--- a/t/t3902-quoted.sh
+++ b/t/t3902-quoted.sh
@@ -10,41 +10,42 @@ test_description='quoted output'
FN='濱野'
GN='純'
HT=' '
-LF='
-'
DQ='"'
echo foo 2>/dev/null > "Name and an${HT}HT"
-test -f "Name and an${HT}HT" || {
- # since FAT/NTFS does not allow tabs in filenames, skip this test
- say 'Your filesystem does not allow tabs in filenames, test skipped.'
+if ! test -f "Name and an${HT}HT"
+then
+ # FAT/NTFS does not allow tabs in filenames
+ skip_all='Your filesystem does not allow tabs in filenames'
test_done
-}
+fi
for_each_name () {
for name in \
Name "Name and a${LF}LF" "Name and an${HT}HT" "Name${DQ}" \
"$FN$HT$GN" "$FN$LF$GN" "$FN $GN" "$FN$GN" "$FN$DQ$GN" \
- "With SP in it"
+ "With SP in it" "$FN/file"
do
eval "$1"
done
}
-test_expect_success setup '
+test_expect_success 'setup' '
- for_each_name "echo initial >\"\$name\""
+ mkdir "$FN" &&
+ for_each_name "echo initial >\"\$name\"" &&
git add . &&
git commit -q -m Initial &&
for_each_name "echo second >\"\$name\"" &&
- git commit -a -m Second
+ git commit -a -m Second &&
for_each_name "echo modified >\"\$name\""
'
-cat >expect.quoted <<\EOF
+test_expect_success 'setup expected files' '
+cat >expect.quoted <<\EOF &&
Name
"Name and a\nLF"
"Name and an\tHT"
@@ -54,6 +55,7 @@ With SP in it
"\346\277\261\351\207\216\n\347\264\224"
"\346\277\261\351\207\216 \347\264\224"
"\346\277\261\351\207\216\"\347\264\224"
+"\346\277\261\351\207\216/file"
"\346\277\261\351\207\216\347\264\224"
EOF
@@ -67,8 +69,10 @@ With SP in it
"濱野\n純"
濱野 純
"濱野\"純"
+濱野/file
濱野純
EOF
+'
test_expect_success 'check fully quoted output from ls-files' '
@@ -97,6 +101,13 @@ test_expect_success 'check fully quoted output from diff-tree' '
'
+test_expect_success 'check fully quoted output from ls-tree' '
+
+ git ls-tree --name-only -r HEAD >current &&
+ test_cmp expect.quoted current
+
+'
+
test_expect_success 'setting core.quotepath' '
git config --bool core.quotepath false
@@ -130,4 +141,11 @@ test_expect_success 'check fully quoted output from diff-tree' '
'
+test_expect_success 'check fully quoted output from ls-tree' '
+
+ git ls-tree --name-only -r HEAD >current &&
+ test_cmp expect.raw current
+
+'
+
test_done