mirror of
https://github.com/kazhala/dotbare
synced 2024-11-17 21:25:32 +00:00
69 lines
3.6 KiB
Bash
Executable File
69 lines
3.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# This script is for mocking fzf for testing,
|
|
# it will stop fzf for goin into a interactive mode
|
|
#
|
|
# usage:
|
|
# export PATH="${BATS_TEST_DIRNAME}:$PATH"
|
|
# example:
|
|
# echo "commitdiff" when attempting to mock a local file search
|
|
# error code 128
|
|
# fatal: pathspec '$HOME/modifiedfile' did not match any files
|
|
# echo "-- modifiedfile" when attempting to mock a local file search
|
|
# error code 1 or code 128
|
|
# error: pathspec '$HOME/modifiedfile' did not match any file(s) known to git
|
|
# echo "--branch" when attempting to mock branch commit
|
|
# error code 129
|
|
# error: unknown option `commitshow'
|
|
# use something like tr "`" "'" to avoid any potential error bats would raise
|
|
|
|
if [[ "$*" =~ "--header=select a commit to checkout" ]] && [[ "$*" =~ "show --color" ]]; then
|
|
# dotbare fcheckout --c -- "./fcheckout.bats" @test "fcheckout commit"
|
|
echo "--commitshow"
|
|
elif [[ "$*" =~ '--no-multi --header=select the target commit for HEAD' ]] && [[ "$*" =~ "show --color" ]]; then
|
|
# dotbare freset --commit -y -- "./freset.bats" @test "freset select commit"
|
|
echo "--commitshow"
|
|
elif [[ "$*" =~ "--no-multi --header=select a commit to rename" ]] && [[ "$*" =~ "show --color=always" ]]; then
|
|
# dotbare fedit --commit -- "./fedit.bats" @test "fedit edit commits"
|
|
echo "commitdiff"
|
|
elif [[ "$*" =~ '--header=select a commit' ]] && [[ "$*" =~ "show --color" ]]; then
|
|
# dotbare flog --reset -y -- "./flog.bats" @test "flog reset"
|
|
echo "--commitshow"
|
|
elif [[ "$*" =~ "--no-multi --header=select a branch to checkout" ]]; then
|
|
# dotbare fcheckout --branch -- "./fcheckout.bats" @test "fcheckout branch"
|
|
echo "--branch"
|
|
elif [[ "$*" =~ '--header=select a file to checkout' ]] && [[ "$*" =~ "cat ${DOTBARE_TREE}/{}" ]]; then
|
|
# dotbare fcheckout --yes -s -- "./fcheckout.bats" @test "fcheckout select"
|
|
echo "selectgitfile"
|
|
elif [[ "$*" =~ '--header=select files to backup' ]] && [[ "$*" =~ "cat ${DOTBARE_TREE}/{}" ]]; then
|
|
# dotbare fbackup --select -- "./fbackup.bats" @test "fbackup select file"
|
|
echo "selectgitfile"
|
|
elif [[ "$*" =~ "--header=select files to untrack" ]] && [[ "$*" =~ "cat ${DOTBARE_TREE}/{}" ]]; then
|
|
# dotbare funtrack -- "./funtrack.bats" @test "funtrack untrack file"
|
|
echo "selectgitfile"
|
|
elif [[ "$*" =~ '--multi --preview ' ]] && [[ "$*" =~ "tree -L 1 -C --dirsfirst {}" ]]; then
|
|
# dotbare fadd --dir -- "./fadd.bats" @test "fadd stage selected dir"
|
|
echo "searchdir"
|
|
elif [[ "$*" =~ '--header=select the target commit' ]] && [[ "$*" =~ "diff --color" ]]; then
|
|
# dotbare fcheckout --yes -s -- "./fcheckout.bats" @test "fcheckout select"
|
|
echo "commitdiff"
|
|
elif [[ "$*" =~ '--multi --preview ' ]] && [[ "$*" =~ "cat {}" ]]; then
|
|
# dotbare fadd -f -- "./fadd.bats" @test "fadd stage selected file"
|
|
echo "searchfile"
|
|
elif [[ "$*" =~ "--header=select a file to checkout version in HEAD" ]] && [[ "$*" =~ "diff HEAD --color=always" ]]; then
|
|
# dotbare fcheckout -y -- "./fcheckout.bats" @test "fcheckout modified"
|
|
echo "-- modifiedfile"
|
|
elif [[ "$*" =~ '--header=select files to stage' ]] && [[ "$*" =~ "diff HEAD --color=always" ]]; then
|
|
# dotbare fadd -- "./fadd.bats" @test "fadd stage modified files"
|
|
echo "-- modifiedfile"
|
|
elif [[ "$*" =~ "--header=select files to unstage" ]] && [[ "$*" =~ "diff HEAD --color=always" ]]; then
|
|
# dotbare freset -- "./freset.bats" @test "freset select files"
|
|
echo "-- modifiedfile"
|
|
elif [[ "$*" =~ "--header=select tracked files to edit" ]]; then
|
|
# dotbare fedit -- "./fedit.bats" @test "fedit edit files"
|
|
exit
|
|
elif [[ "$*" =~ "--no-multi --header=commit --commitshow" ]]; then
|
|
# dotbare flog -- "./flog.bats" @test "flog checkout routing"
|
|
echo "exit"
|
|
fi
|