mirror of
https://github.com/tmux-plugins/tmux-resurrect.git
synced 2025-09-02 04:26:59 +00:00
Test resurrect save feature
This commit is contained in:
42
tests/helpers/create_and_save_tmux_test_environment.exp
Executable file
42
tests/helpers/create_and_save_tmux_test_environment.exp
Executable file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env expect
|
||||
|
||||
source "./tests/helpers/expect_helpers.exp"
|
||||
|
||||
expect_setup
|
||||
|
||||
spawn tmux
|
||||
# delay with sleep to compensate for tmux starting time
|
||||
sleep 1
|
||||
|
||||
run_shell_command "cd /tmp"
|
||||
|
||||
# session red
|
||||
rename_current_session "red"
|
||||
|
||||
new_tmux_window
|
||||
horizontal_split
|
||||
vertical_split
|
||||
|
||||
new_tmux_window
|
||||
horizontal_split
|
||||
|
||||
# session blue
|
||||
new_tmux_session "blue"
|
||||
|
||||
run_shell_command "touch foo.txt"
|
||||
run_shell_command "vim foo.txt"
|
||||
|
||||
new_tmux_window
|
||||
vertical_split
|
||||
run_shell_command "man echo"
|
||||
|
||||
new_tmux_window
|
||||
|
||||
# session yellow
|
||||
new_tmux_session "yellow"
|
||||
run_shell_command "mkdir bar"
|
||||
run_shell_command "cd bar"
|
||||
|
||||
start_resurrect_save
|
||||
|
||||
run_shell_command "tmux kill-server"
|
55
tests/helpers/expect_helpers.exp
Normal file
55
tests/helpers/expect_helpers.exp
Normal file
@ -0,0 +1,55 @@
|
||||
# a set of expect helpers
|
||||
|
||||
# basic setup for each script
|
||||
proc expect_setup {} {
|
||||
# disables script output
|
||||
log_user 0
|
||||
# standard timeout
|
||||
set timeout 5
|
||||
}
|
||||
|
||||
proc new_tmux_window {} {
|
||||
send "c"
|
||||
send "cd /tmp\r"
|
||||
sleep 0.2
|
||||
}
|
||||
|
||||
proc rename_current_session {name} {
|
||||
send "$"
|
||||
# delete existing name with ctrl-u
|
||||
send ""
|
||||
send "$name\r"
|
||||
sleep 0.2
|
||||
}
|
||||
|
||||
proc new_tmux_session {name} {
|
||||
send "TMUX='' tmux new -d -s $name\r"
|
||||
sleep 1
|
||||
send "tmux switch-client -t $name\r"
|
||||
send "cd /tmp\r"
|
||||
sleep 0.5
|
||||
}
|
||||
|
||||
proc horizontal_split {} {
|
||||
send "\""
|
||||
sleep 0.2
|
||||
send "cd /tmp\r"
|
||||
sleep 0.1
|
||||
}
|
||||
|
||||
proc vertical_split {} {
|
||||
send "%"
|
||||
sleep 0.2
|
||||
send "cd /tmp\r"
|
||||
sleep 0.1
|
||||
}
|
||||
|
||||
proc run_shell_command {command} {
|
||||
send "$command\r"
|
||||
sleep 1
|
||||
}
|
||||
|
||||
proc start_resurrect_save {} {
|
||||
send ""
|
||||
sleep 5
|
||||
}
|
12
tests/helpers/resurrect_helpers.sh
Normal file
12
tests/helpers/resurrect_helpers.sh
Normal file
@ -0,0 +1,12 @@
|
||||
install_tmux_resurrect_helper() {
|
||||
rm -rf ~/.tmux/plugins/tmux-resurrect/
|
||||
cd "$CURRENT_DIR"
|
||||
git clone --recursive ../ ~/.tmux/plugins/tmux-resurrect/ >/dev/null 2>&1
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# we want "fixed" dimensions no matter the size of real display
|
||||
set_screen_dimensions() {
|
||||
stty cols 200
|
||||
stty rows 50
|
||||
}
|
Reference in New Issue
Block a user