fzy

terminal fuzzy finder picker

git clone https://9o.is/git/fzy.git

commit 7a5206a440a0b53aa5a0b8ba1bde3012c2e9b9a6
parent 09ea39b180c5f7fbd47e77a5014fd3d48f88ae1e
Author: John Hawthorn <john.hawthorn@gmail.com>
Date:   Fri, 30 Dec 2016 16:25:54 -0800

Upgrade to ttytest 0.4.0

Diffstat:
Mtest/integration/Gemfile.lock | 4++--
Mtest/integration/integration_test.rb | 143++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
2 files changed, 85 insertions(+), 62 deletions(-)

diff --git a/test/integration/Gemfile.lock b/test/integration/Gemfile.lock @@ -2,7 +2,7 @@ GEM remote: https://rubygems.org/ specs: minitest (5.10.1) - ttytest (0.3.0) + ttytest (0.4.0) PLATFORMS ruby @@ -12,4 +12,4 @@ DEPENDENCIES ttytest BUNDLED WITH - 1.13.6 + 1.13.7 diff --git a/test/integration/integration_test.rb b/test/integration/integration_test.rb @@ -13,83 +13,96 @@ class FzyTest < Minitest::Test def test_empty_list @tty = TTYtest.new_terminal(%{echo placeholder;echo -n "" | #{FZY_PATH}}) - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '>') - @tty.assert_row(2, '') @tty.assert_cursor_position(y: 1, x: 2) + @tty.assert_matches <<~TTY + placeholder + > + TTY @tty.send_keys('t') - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> t') - @tty.assert_row(2, '') @tty.assert_cursor_position(y: 1, x: 3) + @tty.assert_matches <<~TTY + placeholder + > t + TTY @tty.send_keys('z') - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> tz') - @tty.assert_row(2, '') @tty.assert_cursor_position(y: 1, x: 4) + @tty.assert_matches <<~TTY + placeholder + > tz + TTY @tty.send_keys("\r") - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, 'tz') @tty.assert_cursor_position(y: 2, x: 0) + @tty.assert_matches <<~TTY + placeholder + tz + TTY end def test_one_item @tty = TTYtest.new_terminal(%{echo placeholder;echo -n "test" | #{FZY_PATH}}) - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '>') - @tty.assert_row(2, 'test') - @tty.assert_row(3, '') + @tty.assert_matches <<~TTY + placeholder + > + test + TTY @tty.assert_cursor_position(y: 1, x: 2) @tty.send_keys('t') - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> t') - @tty.assert_row(2, 'test') - @tty.assert_row(3, '') @tty.assert_cursor_position(y: 1, x: 3) + @tty.assert_matches <<~TTY + placeholder + > t + test + TTY @tty.send_keys('z') - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> tz') - @tty.assert_row(2, '') - @tty.assert_row(3, '') @tty.assert_cursor_position(y: 1, x: 4) + @tty.assert_matches <<~TTY + placeholder + > tz + TTY @tty.send_keys("\r") - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, 'tz') @tty.assert_cursor_position(y: 2, x: 0) + @tty.assert_matches <<~TTY + placeholder + tz + TTY end def test_two_items @tty = TTYtest.new_terminal(%{echo placeholder;echo -n "test\nfoo" | #{FZY_PATH}}) - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '>') - @tty.assert_row(2, 'test') - @tty.assert_row(3, 'foo') - @tty.assert_row(4, '') @tty.assert_cursor_position(y: 1, x: 2) + @tty.assert_matches <<~TTY + placeholder + > + test + foo + TTY @tty.send_keys('t') - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> t') - @tty.assert_row(2, 'test') - @tty.assert_row(3, '') @tty.assert_cursor_position(y: 1, x: 3) + @tty.assert_matches <<~TTY + placeholder + > t + test + TTY @tty.send_keys('z') - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> tz') - @tty.assert_row(2, '') - @tty.assert_row(3, '') @tty.assert_cursor_position(y: 1, x: 4) + @tty.assert_matches <<~TTY + placeholder + > tz + TTY @tty.send_keys("\r") - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, 'tz') + @tty.assert_matches <<~TTY + placeholder + tz + TTY @tty.assert_cursor_position(y: 2, x: 0) end @@ -99,56 +112,66 @@ class FzyTest < Minitest::Test def test_editing @tty = TTYtest.new_terminal(%{echo placeholder;echo -n "test\nfoo" | #{FZY_PATH}}) - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '>') @tty.assert_cursor_position(y: 1, x: 2) + @tty.assert_matches <<~TTY + placeholder + > + test + foo + TTY @tty.send_keys("foo bar baz") - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> foo bar baz') @tty.assert_cursor_position(y: 1, x: 13) + @tty.assert_matches <<~TTY + placeholder + > foo bar baz + TTY @tty.send_keys(ctrl('H')) - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> foo bar ba') @tty.assert_cursor_position(y: 1, x: 12) + @tty.assert_matches <<~TTY + placeholder + > foo bar ba + TTY @tty.send_keys(ctrl('W')) - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '> foo bar') @tty.assert_cursor_position(y: 1, x: 10) + @tty.assert_matches <<~TTY + placeholder + > foo bar + TTY @tty.send_keys(ctrl('U')) - @tty.assert_row(0, 'placeholder') - @tty.assert_row(1, '>') @tty.assert_cursor_position(y: 1, x: 2) + @tty.assert_matches <<~TTY + placeholder + > + test + foo + TTY end def test_ctrl_d @tty = TTYtest.new_terminal(%{echo -n "foo\nbar" | #{FZY_PATH}}) - @tty.assert_row(0, '>') + @tty.assert_matches ">\nfoo\nbar" @tty.send_keys('foo') - @tty.assert_row(0, '> foo') + @tty.assert_matches "> foo\nfoo" @tty.send_keys(ctrl('D')) - @tty.assert_row(0, '') - @tty.assert_row(1, '') - @tty.assert_row(2, '') + @tty.assert_matches '' @tty.assert_cursor_position(y: 0, x: 0) end def test_ctrl_c @tty = TTYtest.new_terminal(%{echo -n "foo\nbar" | #{FZY_PATH}}) - @tty.assert_row(0, '>') + @tty.assert_matches ">\nfoo\nbar" @tty.send_keys('foo') - @tty.assert_row(0, '> foo') + @tty.assert_matches "> foo\nfoo" @tty.send_keys(ctrl('C')) - @tty.assert_row(0, '') - @tty.assert_row(1, '') - @tty.assert_row(2, '') + @tty.assert_matches '' @tty.assert_cursor_position(y: 0, x: 0) end end