49 lines
1.0 KiB
YAML
49 lines
1.0 KiB
YAML
name: "Interactive"
|
|||
|
|
incompatible_configs: ["sh"]
|
||
|
|
cases:
|
||
|
|
- name: "Basic interactive test"
|
||
|
|
pty: true
|
||
|
|
ignore_stdout: true # Needs investigation
|
||
|
|
ignore_whitespace: true # There's an extra newline for now in test output
|
||
|
|
stdin: |
|
||
|
|
#expect-prompt
|
||
|
|
echo hi
|
||
|
|
#send:Enter
|
||
|
|
#expect:hi
|
||
|
|
#expect-prompt
|
||
|
|
#send:Ctrl+D
|
||
|
|
|
||
|
|
- name: "Simple tab completion"
|
||
|
|
skip: true # TODO(input): Need to find the right way to enable this with a rich input backend.
|
||
|
|
pty: true
|
||
|
|
ignore_stdout: true
|
||
|
|
test_files:
|
||
|
|
- path: "test-file.txt"
|
||
|
|
contents: |
|
||
|
|
Hello, world.
|
||
|
|
stdin: |
|
||
|
|
#expect-prompt
|
||
|
|
cat test-file.
|
||
|
|
#send:Tab
|
||
|
|
#send:Enter
|
||
|
|
#expect:Hello, world.
|
||
|
|
#expect-prompt
|
||
|
|
#send:Ctrl+D
|
||
|
|
|
||
|
|
- name: "PROMPT_COMMAND"
|
||
|
|
ignore_stderr: true
|
||
|
|
args: ["-i"]
|
||
|
|
stdin: |
|
||
|
|
declare -a calls=()
|
||
|
|
command=0
|
||
|
|
|
||
|
|
PROMPT_COMMAND='calls+=("$command")'
|
||
|
|
|
||
|
|
command=first
|
||
|
|
command=second
|
||
|
|
command=third
|
||
|
|
|
||
|
|
unset PROMPT_COMMAND
|
||
|
|
|
||
|
|
declare -p calls
|