aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/commandline.expect
diff options
context:
space:
mode:
Diffstat (limited to 'tests/commandline.expect')
-rw-r--r--tests/commandline.expect30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/commandline.expect b/tests/commandline.expect
new file mode 100644
index 00000000..8db0c833
--- /dev/null
+++ b/tests/commandline.expect
@@ -0,0 +1,30 @@
+# vim: set filetype=expect:
+
+spawn $fish
+
+expect_prompt
+
+send_line "bind '~' 'handle_tilde'"
+expect_prompt
+
+# printing the current buffer should not remove quoting
+send_line "function handle_tilde; echo; echo '@GUARD:1@'; commandline -b; echo '@/GUARD:1@'; commandline -b ''; end"
+expect_prompt
+send_line {echo \en one "two three" four'five six'{7} 'eight~}
+expect_prompt -re {\r\n@GUARD:1@\r\n(.*)\r\n@/GUARD:1@\r\n} {
+ puts "a:"
+ puts $expect_out(1,string)
+} unmatched {
+ abort "Couldn't find guard 1"
+}
+
+# printing the buffer with -o should remove quoting
+send_line "function handle_tilde; echo; echo '@GUARD:2@'; commandline -bo; echo '@/GUARD:2@'; commandline -b ''; end"
+expect_prompt
+send_line {echo one "two three" four'five six'{7} 'eight~}
+expect_prompt -re {\r\n@GUARD:2@\r\n(.*)\r\n@/GUARD:2@\r\n} {
+ puts "b:"
+ puts [string map {\r {}} $expect_out(1,string)]
+} unmatched {
+ abort "Couldn't find guard 2"
+}