diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2025-02-09 13:37:22 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2025-02-09 13:37:22 +0900 |
| commit | 1be1991299b6a5d9d8407b8c9b84f8da1da3c15a (patch) | |
| tree | 304c0515a6f8c70660ae933537c500a07748bfd5 /test/test_core.rb | |
| parent | 67dd7e1923f8084de1064bf54659100626c1e0ef (diff) | |
| download | fzf-1be1991299b6a5d9d8407b8c9b84f8da1da3c15a.tar.gz | |
Add exclude-current action
https://github.com/junegunn/fzf/pull/4231#issuecomment-2646063208
Diffstat (limited to 'test/test_core.rb')
| -rw-r--r-- | test/test_core.rb | 81 |
1 files changed, 69 insertions, 12 deletions
diff --git a/test/test_core.rb b/test/test_core.rb index 4eee51b2..231b5950 100644 --- a/test/test_core.rb +++ b/test/test_core.rb @@ -1669,23 +1669,80 @@ class TestCore < TestInteractive def test_exclude tmux.send_keys %(seq 1000 | #{FZF} --multi --bind 'a:exclude,b:reload(seq 1000),c:reload-sync(seq 1000)'), :Enter - tmux.until { |lines| assert_equal 1000, lines.match_count } - tmux.until { |lines| assert_includes lines, '> 1' } + tmux.until do |lines| + assert_equal 1000, lines.match_count + assert_includes lines, '> 1' + end tmux.send_keys :a - tmux.until { |lines| assert_includes lines, '> 2' } - tmux.until { |lines| assert_equal 999, lines.match_count } + tmux.until do |lines| + assert_includes lines, '> 2' + assert_equal 999, lines.match_count + end tmux.send_keys :Up, :BTab, :BTab, :BTab, :a - tmux.until { |lines| assert_equal 996, lines.match_count } - tmux.until { |lines| assert_includes lines, '> 9' } + tmux.until do |lines| + assert_equal 996, lines.match_count + assert_includes lines, '> 9' + end tmux.send_keys :b - tmux.until { |lines| assert_equal 1000, lines.match_count } - tmux.until { |lines| assert_includes lines, '> 5' } + tmux.until do |lines| + assert_equal 1000, lines.match_count + assert_includes lines, '> 5' + end tmux.send_keys :Tab, :Tab, :Tab, :a - tmux.until { |lines| assert_equal 997, lines.match_count } - tmux.until { |lines| assert_includes lines, '> 2' } + tmux.until do |lines| + assert_equal 997, lines.match_count + assert_includes lines, '> 2' + end tmux.send_keys :c - tmux.until { |lines| assert_equal 1000, lines.match_count } - tmux.until { |lines| assert_includes lines, '> 2' } + tmux.until do |lines| + assert_equal 1000, lines.match_count + assert_includes lines, '> 2' + end + + # TODO: We should also check the behavior of 'exclude' during reloads + end + + def test_exclude_current + tmux.send_keys %(seq 1000 | #{FZF} --multi --bind 'a:exclude-current,b:reload(seq 1000),c:reload-sync(seq 1000)'), :Enter + + tmux.until do |lines| + assert_equal 1000, lines.match_count + assert_includes lines, '> 1' + end + tmux.send_keys :a + tmux.until do |lines| + assert_includes lines, '> 2' + assert_equal 999, lines.match_count + end + tmux.send_keys :Up, :BTab, :BTab, :BTab, :a + tmux.until do |lines| + assert_equal 998, lines.match_count + assert_equal 3, lines.select_count + assert_includes lines, '> 7' + end + tmux.send_keys :b + tmux.until do |lines| + assert_equal 1000, lines.match_count + assert_equal 0, lines.select_count + assert_includes lines, '> 5' + end + tmux.send_keys :Tab, :Tab, :Tab, :a + tmux.until do |lines| + assert_equal 999, lines.match_count + assert_equal 3, lines.select_count + assert_includes lines, '>>3' + end + tmux.send_keys :a + tmux.until do |lines| + assert_equal 998, lines.match_count + assert_equal 2, lines.select_count + assert_includes lines, '>>4' + end + tmux.send_keys :c + tmux.until do |lines| + assert_equal 1000, lines.match_count + assert_includes lines, '> 2' + end # TODO: We should also check the behavior of 'exclude' during reloads end |
