blame: correctly handle files regardless of autocrlf
[gitweb.git] / t / t4030-diff-textconv.sh
index f75f46f92d22451522d4676ff4ed709b49419481..aad6c7f78db34703b2f9b1ed72239cd3b4005016 100755 (executable)
@@ -58,6 +58,12 @@ test_expect_success 'diff produces text' '
        test_cmp expect.text actual
 '
 
+test_expect_success 'show commit produces text' '
+       git show HEAD >diff &&
+       find_diff <diff >actual &&
+       test_cmp expect.text actual
+'
+
 test_expect_success 'diff-tree produces binary' '
        git diff-tree -p HEAD^ HEAD >diff &&
        find_diff <diff >actual &&
@@ -84,6 +90,24 @@ test_expect_success 'status -v produces text' '
        git reset --soft HEAD@{1}
 '
 
+test_expect_success 'show blob produces binary' '
+       git show HEAD:file >actual &&
+       printf "\\0\\n\\01\\n" >expect &&
+       test_cmp expect actual
+'
+
+test_expect_success 'show --textconv blob produces text' '
+       git show --textconv HEAD:file >actual &&
+       printf "0\\n1\\n" >expect &&
+       test_cmp expect actual
+'
+
+test_expect_success 'show --no-textconv blob produces binary' '
+       git show --no-textconv HEAD:file >actual &&
+       printf "\\0\\n\\01\\n" >expect &&
+       test_cmp expect actual
+'
+
 test_expect_success 'grep-diff (-G) operates on textconv data (add)' '
        echo one >expect &&
        git log --root --format=%s -G0 >actual &&