#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
