From 125bcb8289c57dbc1e39f674dd185c59e6086b40 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Sat, 22 Oct 2022 22:03:04 -0500 Subject: [PATCH] Add pexpect test for `status current-commandline` --- tests/pexpects/status.py | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 tests/pexpects/status.py diff --git a/tests/pexpects/status.py b/tests/pexpects/status.py new file mode 100644 index 000000000..d094daccb --- /dev/null +++ b/tests/pexpects/status.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +from pexpect_helper import SpawnedProc +import os +import platform +import sys + +sp = SpawnedProc() +send, sendline, sleep, expect_prompt, expect_re, expect_str = ( + sp.send, + sp.sendline, + sp.sleep, + sp.expect_prompt, + sp.expect_re, + sp.expect_str, +) +expect_prompt() + +# Fish should start in default-mode (i.e., emacs) bindings. The default escape +# timeout is 30ms. +# +# Because common CI systems are awful, we have to increase this: + +sendline("set -g fish_escape_delay_ms 120") +expect_prompt("") + +# Validate standalone behavior +sendline("status current-commandline") +expect_prompt("\r\nstatus current-commandline\r\n") + +# Validate behavior as part of a command chain +sendline("true 7 && status current-commandline"); +expect_prompt("\r\ntrue 7 && status current-commandline\r\n"); + +# Validate behavior when used in a function +sendline("function report; set -g last_cmdline (status current-commandline); end"); +expect_prompt("") +sendline("report 27") +expect_prompt("") +sendline("echo $last_cmdline") +expect_prompt("\r\nreport 27\r\n") + +# Exit +send("\x04") # +expect_str("")