Class: TTYtest::Terminal
- Inherits:
-
Object
- Object
- TTYtest::Terminal
- Extended by:
- Forwardable
- Defined in:
- lib/ttytest/terminal.rb
Instance Attribute Summary collapse
-
#max_wait_time ⇒ Integer
the maximum amount of time (in seconds) to retry assertions before failing.
Instance Method Summary collapse
-
#capture ⇒ Capture
Capture the current state of the terminal.
- #cursor_hidden? ⇒ true, false
- #cursor_visible? ⇒ true, false
- #cursor_x ⇒ Integer
- #cursor_y ⇒ Integer
- #height ⇒ Integer
-
#initialize(driver_terminal) ⇒ Terminal
constructor
private
A new instance of Terminal.
-
#print ⇒ Object
Prints the current state of the terminal to stdout.
-
#print_rows ⇒ Object
Prints the current state of the terminal as an array to stdout.
- #row(row) ⇒ String
- #rows ⇒ Array<String>
-
#send_backspace ⇒ Object
Simulate typing the backspace key in the terminal.
-
#send_backspaces(number_of_times) ⇒ Object
Simulates typing backspace the specified number of times.
-
#send_clear ⇒ Object
Clears the screen in the terminal using ascii clear command.
-
#send_delete ⇒ Object
Simulate typing the delete key in the terminal.
-
#send_deletes(number_of_times) ⇒ Object
Simulates typing delete the specified number of times.
-
#send_down_arrow ⇒ Object
Simulate typing the down arrow key in the terminal.
-
#send_down_arrows(number_of_times) ⇒ Object
Simulates typing the down arrow the specified number of times.
-
#send_end ⇒ Object
Simulates typing in the End key in the terminal.
-
#send_enter ⇒ Object
Simulate typing enter by sending newline character to the terminal.
-
#send_enters(number_of_times) ⇒ Object
Simulates sending newline the specified number of times.
-
#send_escape ⇒ Object
Simulates typing in the Escape (ESC) key in the terminal.
-
#send_escapes(number_of_times) ⇒ Object
Simulates typing in the Escape (ESC) key in the terminal the specified number of times.
-
#send_home ⇒ Object
Simulates typing in the Home key in the terminal.
-
#send_keys(*keys) ⇒ Object
Simulate typing keys into the terminal.
-
#send_keys_exact(keys) ⇒ Object
Send tmux send-keys command to the terminal, such as DC or Enter, to simulate pressing that key in the terminal.
-
#send_keys_one_at_a_time(keys) ⇒ Object
Simulate typing keys into the terminal.
-
#send_left_arrow ⇒ Object
Simulate typing the left arrow key in the terminal.
-
#send_left_arrows(number_of_times) ⇒ Object
Simulates typing left arrow the specified number of times.
-
#send_line(line) ⇒ Object
Simulate sending a line to the terminal and hitting enter.
-
#send_line_then_sleep(line, sleep_time) ⇒ Object
Simulate sending a line to the terminal and hitting enter, then sleeping for sleep_time.
-
#send_line_then_sleep_and_repeat(lines, sleep_time) ⇒ Object
Simulate sending a line to the terminal and hitting enter, then sleeping for sleep_time.
-
#send_lines(lines) ⇒ Object
Simulate sending a multiple lines to the terminal and hitting enter after each line.
-
#send_lines_then_sleep(lines, sleep_time) ⇒ Object
Simulate sending multiples lines to the terminal and hitting enter after each line.
-
#send_newline ⇒ Object
Simulate typing enter by sending newline character to the terminal.
-
#send_newlines(number_of_times) ⇒ Object
Simulates sending newline the specified number of times.
-
#send_right_arrow ⇒ Object
Simulate typing the right arrow key in the terminal.
-
#send_right_arrows(number_of_times) ⇒ Object
Simulates typing right arrow the specified number of times.
-
#send_up_arrow ⇒ Object
Simulate typing the up arrow key in the terminal.
-
#send_up_arrows(number_of_times) ⇒ Object
Simulates typing the up arrow the specified number of times.
- #width ⇒ Integer
Constructor Details
#initialize(driver_terminal) ⇒ 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) @driver_terminal = driver_terminal @max_wait_time = TTYtest.default_max_wait_time end |
Instance Attribute Details
#max_wait_time ⇒ Integer
the maximum amount of time (in seconds) to retry assertions before failing.
9 10 11 |
# File 'lib/ttytest/terminal.rb', line 9 def max_wait_time @max_wait_time end |
Instance Method Details
#capture ⇒ Capture
Capture the current state of the terminal
134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/ttytest/terminal.rb', line 134 def_delegators :@driver_terminal, :send_keys, :send_keys_one_at_a_time, :send_line, :send_line_then_sleep, :send_lines, :send_lines_then_sleep, :send_line_then_sleep_and_repeat, :send_newline, :send_newlines, :send_enter, :send_enters, :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, :send_home, :send_end, :send_clear, :send_escape, :send_escapes, :capture |
#cursor_hidden? ⇒ true, false
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#cursor_visible? ⇒ true, false
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#cursor_x ⇒ Integer
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#cursor_y ⇒ Integer
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#height ⇒ Integer
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#print ⇒ Object
Prints the current state of the terminal to stdout. See capture to get the raw string.
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#print_rows ⇒ Object
Prints the current state of the terminal as an array to stdout. See rows to get the raw array.
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#row(row) ⇒ String
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#rows ⇒ Array<String>
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |
#send_backspace ⇒ Object
Simulate typing the backspace key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 76
|
#send_backspaces(number_of_times) ⇒ Object
Simulates typing backspace the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 79
|
#send_clear ⇒ Object
Clears the screen in the terminal using ascii clear command.
|
|
# File 'lib/ttytest/terminal.rb', line 121
|
#send_delete ⇒ Object
Simulate typing the delete key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 69
|
#send_deletes(number_of_times) ⇒ Object
Simulates typing delete the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 72
|
#send_down_arrow ⇒ Object
Simulate typing the down arrow key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 97
|
#send_down_arrows(number_of_times) ⇒ Object
Simulates typing the down arrow the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 100
|
#send_end ⇒ Object
Simulates typing in the End key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 118
|
#send_enter ⇒ Object
Simulate typing enter by sending newline character to the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 62
|
#send_enters(number_of_times) ⇒ Object
Simulates sending newline the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 65
|
#send_escape ⇒ Object
Simulates typing in the Escape (ESC) key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 124
|
#send_escapes(number_of_times) ⇒ Object
Simulates typing in the Escape (ESC) key in the terminal the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 127
|
#send_home ⇒ Object
Simulates typing in the Home key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 115
|
#send_keys(*keys) ⇒ Object
Simulate typing keys into the terminal. For canonical cli’s/shells which read line by line.
|
|
# File 'lib/ttytest/terminal.rb', line 21
|
#send_keys_exact(keys) ⇒ Object
Send tmux send-keys command to the terminal, such as DC or Enter, to simulate pressing that key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 111
|
#send_keys_one_at_a_time(keys) ⇒ Object
Simulate typing keys into the terminal. For noncanonical cli’s/shells which read character by character.
|
|
# File 'lib/ttytest/terminal.rb', line 25
|
#send_left_arrow ⇒ Object
Simulate typing the left arrow key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 83
|
#send_left_arrows(number_of_times) ⇒ Object
Simulates typing left arrow the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 86
|
#send_line(line) ⇒ Object
Simulate sending a line to the terminal and hitting enter. Can send multiline input, but if you want to send several commands at once, see send_lines(lines)
|
|
# File 'lib/ttytest/terminal.rb', line 29
|
#send_line_then_sleep(line, sleep_time) ⇒ Object
Simulate sending a line to the terminal and hitting enter, then sleeping for sleep_time.
|
|
# File 'lib/ttytest/terminal.rb', line 34
|
#send_line_then_sleep_and_repeat(lines, sleep_time) ⇒ Object
Simulate sending a line to the terminal and hitting enter, then sleeping for sleep_time. before sending the next line.
|
|
# File 'lib/ttytest/terminal.rb', line 49
|
#send_lines(lines) ⇒ Object
Simulate sending a multiple lines to the terminal and hitting enter after each line.
|
|
# File 'lib/ttytest/terminal.rb', line 39
|
#send_lines_then_sleep(lines, sleep_time) ⇒ Object
Simulate sending multiples lines to the terminal and hitting enter after each line. After sending all lines, then wait for the sleep_time.
|
|
# File 'lib/ttytest/terminal.rb', line 43
|
#send_newline ⇒ Object
Simulate typing enter by sending newline character to the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 55
|
#send_newlines(number_of_times) ⇒ Object
Simulates sending newline the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 58
|
#send_right_arrow ⇒ Object
Simulate typing the right arrow key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 90
|
#send_right_arrows(number_of_times) ⇒ Object
Simulates typing right arrow the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 93
|
#send_up_arrow ⇒ Object
Simulate typing the up arrow key in the terminal.
|
|
# File 'lib/ttytest/terminal.rb', line 104
|
#send_up_arrows(number_of_times) ⇒ Object
Simulates typing the up arrow the specified number of times.
|
|
# File 'lib/ttytest/terminal.rb', line 107
|
#width ⇒ Integer
175 176 177 178 179 |
# File 'lib/ttytest/terminal.rb', line 175 def_delegators :capture, :print, :print_rows, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden? |