mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-14 09:53:42 +08:00
acad9b05e2
When changing certain variables programmatically, ensure that events are sent. Fixes #6653
37 lines
718 B
Plaintext
37 lines
718 B
Plaintext
# vim: set filetype=expect:
|
|
spawn $fish
|
|
expect_prompt
|
|
|
|
send "set -g fish_key_bindings fish_vi_key_bindings\r"
|
|
expect_prompt
|
|
|
|
send "echo ready to go\r"
|
|
expect_prompt -re {\r\nready to go\r\n} {
|
|
puts "ready to go"
|
|
}
|
|
send "function add_change --on-variable fish_bind_mode ; set -g MODE_CHANGES \$MODE_CHANGES \$fish_bind_mode ; end\r"
|
|
expect_prompt
|
|
|
|
# normal mode
|
|
send "\033"
|
|
sleep 0.050
|
|
|
|
# insert mode
|
|
send "i"
|
|
sleep 0.050
|
|
|
|
# back to normal mode
|
|
send "\033"
|
|
sleep 0.050
|
|
|
|
# insert mode again
|
|
send "i"
|
|
sleep 0.050
|
|
|
|
send "echo mode changes: \$MODE_CHANGES\r"
|
|
expect_prompt -re {\r\nmode changes: default insert default insert\r\n} {
|
|
puts "Correct mode changes"
|
|
} unmatched {
|
|
puts "Incorrect mode changes"
|
|
}
|