grep: use get_pathspec() correctly
[gitweb.git] / t / t0081-line-buffer.sh
index 33a728ed98edba5c963be666472824e9f493842e..550fad0823a8d27cf1d49b1c55154ea7ce69de02 100755 (executable)
@@ -131,6 +131,15 @@ test_expect_success PIPE,EXPENSIVE 'longer read (around 65536 bytes)' '
        long_read_test 65536
 '
 
+test_expect_success 'read from file descriptor' '
+       rm -f input &&
+       echo hello >expect &&
+       echo hello >input &&
+       echo copy 6 |
+       test-line-buffer "&4" 4<input >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'buffer_read_string copes with null byte' '
        >expect &&
        q_to_nul <<-\EOF | test-line-buffer >actual &&
@@ -151,6 +160,15 @@ test_expect_success 'skip, copy null byte' '
        test_cmp expect actual
 '
 
+test_expect_success 'read null byte' '
+       echo ">QhelloQ" | q_to_nul >expect &&
+       q_to_nul <<-\EOF | test-line-buffer >actual &&
+       binary 8
+       QhelloQ
+       EOF
+       test_cmp expect actual
+'
+
 test_expect_success 'long reads are truncated' '
        echo foo >expect &&
        test-line-buffer <<-\EOF >actual &&
@@ -171,4 +189,13 @@ test_expect_success 'long copies are truncated' '
        test_cmp expect actual
 '
 
+test_expect_success 'long binary reads are truncated' '
+       echo ">foo" >expect &&
+       test-line-buffer <<-\EOF >actual &&
+       binary 5
+       foo
+       EOF
+       test_cmp expect actual
+'
+
 test_done