2021-01-20 02:16:17 +08:00
|
|
|
#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`.
|
2021-01-16 20:27:30 +08:00
|
|
|
#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
|
2021-01-20 02:16:17 +08:00
|
|
|
#CHECK: (newbranch|…1)
|
|
|
|
|
|
|
|
# Confirm the mode changes back
|
|
|
|
fish_git_prompt
|
|
|
|
echo
|
|
|
|
#CHECK: (newbranch)
|