mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-18 12:33:38 +08:00
1e858eae35
This demonstrates that we only write control sequences when interactive.
59 lines
1.2 KiB
Fish
59 lines
1.2 KiB
Fish
#RUN: env FISH_PATH=%fish FILE_PATH=%s %fish %s
|
|
|
|
status line-number
|
|
# CHECK: 3
|
|
|
|
# Check status fish-path
|
|
# No output expected on success
|
|
#
|
|
# argv[0] on OpenBSD is just the filename, not the path
|
|
# That means fish-path is unsupportable there.
|
|
if not contains (uname) OpenBSD
|
|
set status_fish_path (realpath (status fish-path))
|
|
set env_fish_path (realpath $FISH_PATH)
|
|
test "$status_fish_path" = "$env_fish_path"
|
|
or echo "Fish path disagreement: $status_fish_path vs $env_fish_path"
|
|
end
|
|
|
|
# Check is-block
|
|
status is-block
|
|
echo $status
|
|
begin
|
|
status is-block
|
|
echo $status
|
|
end
|
|
# CHECK: 1
|
|
# CHECK: 0
|
|
|
|
# Check filename
|
|
set status_filename (status filename)
|
|
test (status filename) = "$FILE_PATH"
|
|
or echo "File path disagreement: $status_filename vs $FILE_PATH"
|
|
|
|
function print_my_name
|
|
status function
|
|
end
|
|
print_my_name
|
|
# CHECK: print_my_name
|
|
|
|
status is-command-substitution
|
|
echo $status
|
|
echo (status is-command-substitution; echo $status)
|
|
# CHECK: 1
|
|
# CHECK: 0
|
|
|
|
test (status filename) = (status dirname)/(status basename)
|
|
|
|
status basename
|
|
#CHECK: status-command.fish
|
|
|
|
status dirname | string match -q '*checks'
|
|
echo $status
|
|
#CHECK: 0
|
|
|
|
echo "status dirname" | source
|
|
#CHECK: .
|
|
|
|
$FISH_PATH -c 'status dirname'
|
|
#CHECK: Standard input
|