aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/generic.expect
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2015-04-20 02:04:17 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2015-04-20 02:04:17 -0700
commitc3ef23b10f4c5bc5de7e685c631e6c5802dc4db0 (patch)
treef103f8940e21b88f520db6a5da48b6dc1f9f6fa9 /tests/generic.expect
parent722fedc8fd590cb436109a553fb68f02790117f3 (diff)
Support for a "pending item" in history.
Before running a command, we add the command to history, so that if the command causes us to exit it's still captured in history. But that command should not be considered part of history when expanding the history within the command itself. For example, `echo $history[1]` should be the previously run command, not `echo $history[1]` itself. Fixes #2028
Diffstat (limited to 'tests/generic.expect')
-rw-r--r--tests/generic.expect22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/generic.expect b/tests/generic.expect
index d422603a..7a5b6407 100644
--- a/tests/generic.expect
+++ b/tests/generic.expect
@@ -11,3 +11,25 @@ send_line "echo "
expect_prompt "" {} unmatched {
puts stderr "Couldn't type apple key ()"
}
+
+# check that history is returned in the right order (#2028)
+# this hist_command nonsense is the cleanest way to send the $ char
+set hist_command "echo \$history\[1\]"
+
+# first send 'echo stuff'
+send_line "echo stuff"
+expect_prompt "stuff" {} unmatched {
+ puts stderr "Couldn't find expected output 'stuff'"
+}
+
+# last history item should be 'echo stuff'
+send_line $hist_command
+expect_prompt "echo stuff" {} unmatched {
+ puts stderr "Couldn't find expected output 'echo stuff'"
+}
+
+# last history command should be the one that printed the history
+send_line $hist_command
+expect_prompt -re {echo .history.*} {} unmatched {
+ puts stderr "Couldn't find expected output $hist_command"
+}