summaryrefslogtreecommitdiff
path: root/test/integration/integration_test.rb
blob: 21ba0f56b8ec6b75710301aee6e441f6fd771266 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
require 'minitest'
require 'minitest/autorun'
require 'ttytest'

class FzyTest < Minitest::Test
  FZY_PATH = File.expand_path('../../../fzy', __FILE__)

  def test_empty_list
    @tty = TTYtest.driver.new_terminal(%{echo placeholder;echo -n "" | fzy})
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '>')
    @tty.assert_row(2, '')

    @tty.send_keys('t')
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '> t')
    @tty.assert_row(2, '')

    @tty.send_keys('z')
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '> tz')
    @tty.assert_row(2, '')
  end

  def test_one_item
    @tty = TTYtest.driver.new_terminal(%{echo placeholder;echo -n "test" | fzy})
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '>')
    @tty.assert_row(2, 'test')
    @tty.assert_row(3, '')

    @tty.send_keys('t')
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '> t')
    @tty.assert_row(2, 'test')
    @tty.assert_row(3, '')

    @tty.send_keys('z')
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '> tz')
    @tty.assert_row(2, '')
    @tty.assert_row(3, '')
  end

  def test_two_items
    @tty = TTYtest.driver.new_terminal(%{echo placeholder;echo -n "test\nfoo" | fzy})
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '>')
    @tty.assert_row(2, 'test')
    @tty.assert_row(3, 'foo')
    @tty.assert_row(4, '')

    @tty.send_keys('t')
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '> t')
    @tty.assert_row(2, 'test')
    @tty.assert_row(3, '')

    @tty.send_keys('z')
    @tty.assert_row(0, 'placeholder')
    @tty.assert_row(1, '> tz')
    @tty.assert_row(2, '')
    @tty.assert_row(3, '')
  end
end