# vim: set filetype=fish:

status -b
and echo '"status -b" unexpectedly returned true at top level'

begin
    status -b
    or echo '"status -b" unexpectedly returned false inside a begin block'
end

status -l
and echo '"status -l" unexpectedly returned true for a non-login shell'

status -i
and echo '"status -i" unexpectedly returned true for a non-interactive shell'

status is-login
and echo '"status is-login" unexpectedly returned true for a non-login shell'

status is-interactive
and echo '"status is-interactive" unexpectedly returned true for a non-interactive shell'

# We should get an error message about an invalid combination of flags.
status --is-interactive --is-login

# We should get an error message about an unexpected arg for `status
# is-block`.
status -b is-interactive

# Try to set the job control to an invalid mode.
status job-control full1
status --job-control=1none

# Now set it to a valid mode.
status job-control none

# Check status -u outside functions
status current-function

function test_function
    status current-function
end

test_function
eval test_function

logmsg Future Feature Flags
status features
status test-feature stderr-nocaret ; echo $status
status test-feature not-a-feature ; echo $status

logmsg 'Ensure $status isn\'t reset before a function is executed'
function echo_last
	echo $status
end

false; echo_last; echo $status #1
