Fix 'reload' not terminating closed standard input stream

Fix #3750
pull/3746/head
Junegunn Choi 1 week ago
parent 4ab7fdc28e
commit fddbfe7b0e
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627

@ -147,7 +147,7 @@ func (r *Reader) feed(src io.Reader) {
}
// We're not making any progress after 100 tries. Stop.
if n == 0 && err == nil {
if n == 0 {
break
}

@ -1955,6 +1955,11 @@ class TestGoFZF < TestBase
tmux.until { |lines| assert_equal 10, lines.item_count }
end
def test_reload_should_terminate_stadard_input_stream
tmux.send_keys %(ruby -e "STDOUT.sync = true; loop { puts 1; sleep 0.1 }" | fzf --bind 'start:reload(seq 100)'), :Enter
tmux.until { |lines| assert_equal 100, lines.item_count }
end
def test_clear_list_when_header_lines_changed_due_to_reload
tmux.send_keys %(seq 10 | #{FZF} --header 0 --header-lines 3 --bind 'space:reload(seq 1)'), :Enter
tmux.until { |lines| assert_includes lines, ' 9' }

Loading…
Cancel
Save