diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2024-04-25 16:42:13 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2024-04-25 16:49:06 +0900 |
commit | fddbfe7b0ed01fe9c23950e0e9eaf1f576c0eecd (patch) | |
tree | 158b6ddd04537bbf2d79ea0550955ac9d12dc4b8 | |
parent | 4ab7fdc28e06b73e3f4e0054a18a377db5079396 (diff) |
Fix 'reload' not terminating closed standard input stream
Fix #3750
-rw-r--r-- | src/reader.go | 2 | ||||
-rwxr-xr-x | test/test_go.rb | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/reader.go b/src/reader.go index a7e002c0..82648a68 100644 --- a/src/reader.go +++ b/src/reader.go @@ -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 } diff --git a/test/test_go.rb b/test/test_go.rb index 537a9bd4..ba067997 100755 --- a/test/test_go.rb +++ b/test/test_go.rb @@ -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' } |