diff --git a/test/test_go.rb b/test/test_go.rb index ef7aa3a..3888abf 100644 --- a/test/test_go.rb +++ b/test/test_go.rb @@ -904,21 +904,24 @@ class TestGoFZF < TestBase def test_execute_multi output = '/tmp/fzf-test-execute-multi' - opts = %[--multi --bind \\"alt-a:execute-multi(echo '[{}], @{}@' >> #{output}; sync)\\"] - tmux.send_keys "seq 100 | #{fzf opts}", :Enter - tmux.until { |lines| lines[-2].include? '100/100' } + opts = %[--multi --bind \\"alt-a:execute-multi(echo {}/{} >> #{output}; sync)\\"] + writelines tempname, %w[foo'bar foo"bar foo$bar foobar] + tmux.send_keys "cat #{tempname} | #{fzf opts}", :Enter + tmux.until { |lines| lines[-2].include? '4/4' } tmux.send_keys :Escape, :a - tmux.until { |lines| lines[-2].include? '/100' } + tmux.until { |lines| lines[-2].include? '/4' } tmux.send_keys :BTab, :BTab, :BTab tmux.send_keys :Escape, :a - tmux.until { |lines| lines[-2].include? '/100' } + tmux.until { |lines| lines[-2].include? '/4' } tmux.send_keys :Tab, :Tab tmux.send_keys :Escape, :a - tmux.until { |lines| lines[-2].include? '/100' } + tmux.until { |lines| lines[-2].include? '/4' } tmux.send_keys :Enter tmux.prepare readonce - assert_equal ['["1"], @"1"@', '["1" "2" "3"], @"1" "2" "3"@', '["1" "2" "4"], @"1" "2" "4"@'], + assert_equal [%[foo'bar/foo'bar], + %[foo'bar foo"bar foo$bar/foo'bar foo"bar foo$bar], + %[foo'bar foo"bar foobar/foo'bar foo"bar foobar]], File.readlines(output).map(&:chomp) ensure File.unlink output rescue nil