164 lines
4.2 KiB
Text
164 lines
4.2 KiB
Text
|
#!/usr/bin/env expect
|
|||
|
|
|||
|
source "./test/helpers/setup.exp"
|
|||
|
|
|||
|
# searches at the top of the pane
|
|||
|
#--------------------------------
|
|||
|
new_tmux_pane
|
|||
|
display_text "something search me1"
|
|||
|
search "search me1"
|
|||
|
assert_highlighted "search me1" "top of the pane, literal search"
|
|||
|
|
|||
|
new_tmux_pane
|
|||
|
display_text "something search me2"
|
|||
|
search "search me\[\[:alnum:]]"
|
|||
|
assert_highlighted "search me2" "top of the pane, search with \[\[:alnum:]]"
|
|||
|
|
|||
|
new_tmux_pane
|
|||
|
display_text "something search me3"
|
|||
|
search "searc. me\[\[:digit:]]"
|
|||
|
assert_highlighted "search me3" "top of the pane, search with dot and \[\[:digit:]]"
|
|||
|
|
|||
|
new_tmux_pane
|
|||
|
display_text "something search me4"
|
|||
|
search "sear\[^\[:space:]]* me.+$"
|
|||
|
assert_highlighted "search me4" "top of the pane, search with matching group, dot-plus and end of line $"
|
|||
|
|
|||
|
# middle of pane searches
|
|||
|
#------------------------
|
|||
|
new_tmux_pane
|
|||
|
create_output
|
|||
|
clear_screen
|
|||
|
display_text "something search me1"
|
|||
|
search "search me1"
|
|||
|
assert_highlighted "search me1" "middle of the pane, literal search"
|
|||
|
|
|||
|
display_text "something search me2"
|
|||
|
search "search me\[\[:alnum:]]"
|
|||
|
assert_highlighted "search me2" "middle of the pane, search with \[\[:alnum:]]"
|
|||
|
|
|||
|
display_text "something search me3"
|
|||
|
search "searc. me\[\[:digit:]]"
|
|||
|
assert_highlighted "search me3" "middle of the pane, search with dot and \[\[:digit:]]"
|
|||
|
|
|||
|
display_text "something search me4"
|
|||
|
search "sear\[^\[:space:]]* me.+$"
|
|||
|
assert_highlighted "search me4" "middle of the pane, search with matching group, dot-plus and end of line $"
|
|||
|
|
|||
|
# bottom of the buffer searches
|
|||
|
#------------------------------
|
|||
|
new_tmux_pane
|
|||
|
create_output
|
|||
|
sleep 0.2
|
|||
|
send "something search me1"
|
|||
|
sleep 0.2
|
|||
|
search "search me1"
|
|||
|
assert_highlighted "search me1" "bottom of the pane, literal search"
|
|||
|
|
|||
|
sleep 0.2
|
|||
|
send "something search me2"
|
|||
|
sleep 0.2
|
|||
|
search "search me\[\[:alnum:]]"
|
|||
|
assert_highlighted "search me2" "bottom of the pane, search with \[\[:alnum:]]"
|
|||
|
|
|||
|
sleep 0.2
|
|||
|
send "something search me3"
|
|||
|
sleep 0.2
|
|||
|
search "searc. me\[\[:digit:]]"
|
|||
|
assert_highlighted "search me3" "bottom of the pane, search with dot and \[\[:digit:]]"
|
|||
|
|
|||
|
sleep 0.2
|
|||
|
send "something search me4"
|
|||
|
sleep 0.2
|
|||
|
search "sear\[^\[:space:]]* me.+$"
|
|||
|
assert_highlighted "search me4" "bottom of the pane, search with matching group, dot-plus and end of line $"
|
|||
|
|
|||
|
# match selection when line contains escaped chars
|
|||
|
#-------------------------------------------------
|
|||
|
new_tmux_pane
|
|||
|
display_text "filename=test.csv\r\nContent-Type: text/csv\r\n"
|
|||
|
search "text/csv"
|
|||
|
assert_highlighted "text/csv" "match selection when line contains escaped chars"
|
|||
|
|
|||
|
# result navigation
|
|||
|
#------------------
|
|||
|
new_tmux_pane
|
|||
|
display_text "match no1"
|
|||
|
display_text "match no2"
|
|||
|
display_text "match no3"
|
|||
|
search "match\[\[:space:]]no\[\[:digit:]]"
|
|||
|
# match no3
|
|||
|
next_match
|
|||
|
# match no3
|
|||
|
next_match
|
|||
|
# match no2
|
|||
|
next_match
|
|||
|
# match no2
|
|||
|
next_match
|
|||
|
# match no1
|
|||
|
previous_match
|
|||
|
# match no2
|
|||
|
assert_highlighted "match no2" "result navigation at the top of the pane"
|
|||
|
|
|||
|
create_output
|
|||
|
display_text "match no1"
|
|||
|
display_text "match no2"
|
|||
|
search "match\[\[:space:]]no\[\[:digit:]]"
|
|||
|
# match no2
|
|||
|
next_match
|
|||
|
# match no2
|
|||
|
next_match
|
|||
|
# match no1
|
|||
|
previous_match
|
|||
|
# match no2
|
|||
|
assert_highlighted "match no2" "result navigation, middle of the pane"
|
|||
|
|
|||
|
# 2 matches on the same line
|
|||
|
#---------------------------
|
|||
|
new_tmux_pane
|
|||
|
display_text "match1 match2"
|
|||
|
search "match\[\[:digit:]]"
|
|||
|
assert_highlighted "match1" "2 matches on the same line, first match"
|
|||
|
|
|||
|
display_text "match1 match2"
|
|||
|
search "match\[\[:digit:]]"
|
|||
|
next_match
|
|||
|
assert_highlighted "match2" "2 matches on the same line, second match"
|
|||
|
|
|||
|
# no match, first and last match
|
|||
|
#-------------------------------
|
|||
|
new_tmux_pane
|
|||
|
search "something\[\[:digit:]]"
|
|||
|
assert_on_screen "No results!" "No results is displayed when no results"
|
|||
|
|
|||
|
new_tmux_pane
|
|||
|
display_text "something2"
|
|||
|
sleep 5.0
|
|||
|
search "something\[\[:digit:]]"
|
|||
|
next_match
|
|||
|
next_match
|
|||
|
assert_on_screen "Last match!" "'Last match' is displayed when last match"
|
|||
|
# exit copycat mode
|
|||
|
send ""
|
|||
|
|
|||
|
new_tmux_pane
|
|||
|
display_text "random3"
|
|||
|
search "random\[\[:digit:]]"
|
|||
|
previous_match
|
|||
|
assert_on_screen "First match!" "'First match' is displayed when first match"
|
|||
|
# exit copycat mode
|
|||
|
send ""
|
|||
|
|
|||
|
# irb console searches
|
|||
|
#---------------------
|
|||
|
new_tmux_pane
|
|||
|
enter_irb
|
|||
|
irb_display_text "within irb1"
|
|||
|
search "within\[\[:space:]]irb\[\[:digit:]]"
|
|||
|
irb_assert_highlighted "within irb1" "irb console"
|
|||
|
exit_irb
|
|||
|
|
|||
|
# quit
|
|||
|
#-----
|
|||
|
teardown_and_exit
|