Merge branch 'maint'
[gitweb.git] / t / t3902-quoted.sh
index 63f950b179586b2f8f7bf8d3695262795d546465..29103f65dc60a81d071b9dd5600f416b3a31860f 100755 (executable)
@@ -14,11 +14,18 @@ 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.'
+       test_done
+}
+
 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
@@ -26,6 +33,7 @@ for_each_name () {
 
 test_expect_success setup '
 
+       mkdir "$FN" &&
        for_each_name "echo initial >\"\$name\""
        git add . &&
        git commit -q -m Initial &&
@@ -47,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
 
@@ -60,33 +69,41 @@ With SP in it
 "濱野\n純"
 濱野 純
 "濱野\"純"
+濱野/file
 濱野純
 EOF
 
 test_expect_success 'check fully quoted output from ls-files' '
 
-       git ls-files >current && diff -u expect.quoted current
+       git ls-files >current && test_cmp expect.quoted current
 
 '
 
 test_expect_success 'check fully quoted output from diff-files' '
 
        git diff --name-only >current &&
-       diff -u expect.quoted current
+       test_cmp expect.quoted current
 
 '
 
 test_expect_success 'check fully quoted output from diff-index' '
 
        git diff --name-only HEAD >current &&
-       diff -u expect.quoted current
+       test_cmp expect.quoted current
 
 '
 
 test_expect_success 'check fully quoted output from diff-tree' '
 
        git diff --name-only HEAD^ HEAD >current &&
-       diff -u expect.quoted current
+       test_cmp expect.quoted current
+
+'
+
+test_expect_success 'check fully quoted output from ls-tree' '
+
+       git ls-tree --name-only -r HEAD >current &&
+       test_cmp expect.quoted current
 
 '
 
@@ -98,28 +115,35 @@ test_expect_success 'setting core.quotepath' '
 
 test_expect_success 'check fully quoted output from ls-files' '
 
-       git ls-files >current && diff -u expect.raw current
+       git ls-files >current && test_cmp expect.raw current
 
 '
 
 test_expect_success 'check fully quoted output from diff-files' '
 
        git diff --name-only >current &&
-       diff -u expect.raw current
+       test_cmp expect.raw current
 
 '
 
 test_expect_success 'check fully quoted output from diff-index' '
 
        git diff --name-only HEAD >current &&
-       diff -u expect.raw current
+       test_cmp expect.raw current
 
 '
 
 test_expect_success 'check fully quoted output from diff-tree' '
 
        git diff --name-only HEAD^ HEAD >current &&
-       diff -u expect.raw current
+       test_cmp expect.raw current
+
+'
+
+test_expect_success 'check fully quoted output from ls-tree' '
+
+       git ls-tree --name-only -r HEAD >current &&
+       test_cmp expect.raw current
 
 '