Class: TTYtest::Terminal

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/ttytest/terminal.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(driver_terminal, max_wait_time: nil) ⇒ Terminal

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Terminal.



16
17
18
19
# File 'lib/ttytest/terminal.rb', line 16

def initialize(driver_terminal, max_wait_time: nil)
  @driver_terminal = driver_terminal
  @max_wait_time = max_wait_time || TTYtest.default_max_wait_time
end

Instance Attribute Details

#max_wait_timeInteger

the maximum amount of time (in seconds) to retry assertions before failing.

Returns:

  • (Integer)

    the current value of max_wait_time



9
10
11
# File 'lib/ttytest/terminal.rb', line 9

def max_wait_time
  @max_wait_time
end

Instance Method Details

#captureCapture

Capture the current state of the terminal

Returns:

  • (Capture)

    instantaneous state of the terminal when called



38
39
40
41
42
43
44
45
46
# File 'lib/ttytest/terminal.rb', line 38

def_delegators :@driver_terminal,
:send_keys, :send_keys_one_at_a_time,
:send_newline, :send_newlines,
:send_delete, :send_deletes,
:send_backspace, :send_backspaces,
:send_left_arrow, :send_left_arrows, :send_right_arrow, :send_right_arrows,
:send_down_arrow, :send_down_arrows, :send_up_arrow, :send_up_arrows,
:send_keys_exact,
:capture

#cursor_hidden?true, false

Returns:

  • (true, false)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?

#cursor_visible?true, false

Returns:

  • (true, false)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?

#cursor_xInteger

Returns:

  • (Integer)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?

#cursor_yInteger

Returns:

  • (Integer)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?

#heightInteger

Returns:

  • (Integer)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?

#row(row) ⇒ String

Returns:

  • (String)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?

#rowsArray<String>

Returns:

  • (Array<String>)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?

#send_backspaceObject

Simulate typing the backspace key in the terminal.



38
39
40
41
42
43
44
45
46
# File 'lib/ttytest/terminal.rb', line 38

def_delegators :@driver_terminal,
:send_keys, :send_keys_one_at_a_time,
:send_newline, :send_newlines,
:send_delete, :send_deletes,
:send_backspace, :send_backspaces,
:send_left_arrow, :send_left_arrows, :send_right_arrow, :send_right_arrows,
:send_down_arrow, :send_down_arrows, :send_up_arrow, :send_up_arrows,
:send_keys_exact,
:capture

#send_deleteObject

Simulate typing the delete key in the terminal.



38
39
40
41
42
43
44
45
46
# File 'lib/ttytest/terminal.rb', line 38

def_delegators :@driver_terminal,
:send_keys, :send_keys_one_at_a_time,
:send_newline, :send_newlines,
:send_delete, :send_deletes,
:send_backspace, :send_backspaces,
:send_left_arrow, :send_left_arrows, :send_right_arrow, :send_right_arrows,
:send_down_arrow, :send_down_arrows, :send_up_arrow, :send_up_arrows,
:send_keys_exact,
:capture

#send_keys(*keys) ⇒ Object

Simulate typing keys into the terminal. For canonical cli’s/shells which read line by line.

Parameters:

  • keys (String)

    keys to send to the terminal



38
39
40
41
42
43
44
45
46
# File 'lib/ttytest/terminal.rb', line 38

def_delegators :@driver_terminal,
:send_keys, :send_keys_one_at_a_time,
:send_newline, :send_newlines,
:send_delete, :send_deletes,
:send_backspace, :send_backspaces,
:send_left_arrow, :send_left_arrows, :send_right_arrow, :send_right_arrows,
:send_down_arrow, :send_down_arrows, :send_up_arrow, :send_up_arrows,
:send_keys_exact,
:capture

#send_keys_exactObject

Send tmux send-keys command to the terminal, such as DC or Enter, to simulate pressing that key in the terminal.



38
39
40
41
42
43
44
45
46
# File 'lib/ttytest/terminal.rb', line 38

def_delegators :@driver_terminal,
:send_keys, :send_keys_one_at_a_time,
:send_newline, :send_newlines,
:send_delete, :send_deletes,
:send_backspace, :send_backspaces,
:send_left_arrow, :send_left_arrows, :send_right_arrow, :send_right_arrows,
:send_down_arrow, :send_down_arrows, :send_up_arrow, :send_up_arrows,
:send_keys_exact,
:capture

#send_keys_one_at_a_time(keys) ⇒ Object

Simulate typing keys into the terminal. For noncanonical cli’s/shells which read character by character.

Parameters:

  • keys (String)

    keys to send to the terminal



38
39
40
41
42
43
44
45
46
# File 'lib/ttytest/terminal.rb', line 38

def_delegators :@driver_terminal,
:send_keys, :send_keys_one_at_a_time,
:send_newline, :send_newlines,
:send_delete, :send_deletes,
:send_backspace, :send_backspaces,
:send_left_arrow, :send_left_arrows, :send_right_arrow, :send_right_arrows,
:send_down_arrow, :send_down_arrows, :send_up_arrow, :send_up_arrows,
:send_keys_exact,
:capture

#send_newlineObject

Simulate typing enter by sending newline character to the terminal.



38
39
40
41
42
43
44
45
46
# File 'lib/ttytest/terminal.rb', line 38

def_delegators :@driver_terminal,
:send_keys, :send_keys_one_at_a_time,
:send_newline, :send_newlines,
:send_delete, :send_deletes,
:send_backspace, :send_backspaces,
:send_left_arrow, :send_left_arrows, :send_right_arrow, :send_right_arrows,
:send_down_arrow, :send_down_arrows, :send_up_arrow, :send_up_arrows,
:send_keys_exact,
:capture

#widthInteger

Returns:

  • (Integer)

See Also:



72
# File 'lib/ttytest/terminal.rb', line 72

def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?