fish-shell/tests/checks/git.fish

42 lines
1.1 KiB
Fish
Raw Normal View History

#RUN: %fish -i %s
# Note: ^ this is interactive so we test interactive behavior,
# e.g. the fish_git_prompt variable handlers test `status is-interactive`.
#REQUIRES: command -v git
# Do some tests with `git` - completions are interesting,
# but prompts would also be possible.
set -l tmp (mktemp -d)
cd $tmp
git init >/dev/null 2>&1
# Commands and descriptions
# Note: We *can't* list all here because in addition to aliases,
# git also uses all commands in $PATH called `git-something` as custom commands,
# so this depends on system state!
complete -C'git ' | grep '^add'
# (note: actual tab character in the check here)
#CHECK: add Add file contents to the index
touch foo
complete -C'git add '
#CHECK: foo Untracked file
# Note: We can't rely on the initial branch because that might be
# "master", or it could be changed to something else in future!
git checkout -b newbranch >/dev/null 2>&1
fish_git_prompt
echo # the git prompt doesn't print a newline
#CHECK: (newbranch)
__fish_git_prompt_show_informative_status=1 fish_git_prompt
echo
#CHECK: (newbranch|…1)
# Confirm the mode changes back
fish_git_prompt
echo
#CHECK: (newbranch)