54 lines
1.4 KiB
Bash
54 lines
1.4 KiB
Bash
#!/bin/zsh
|
|
#function t_setup {
|
|
emulate -L zsh
|
|
setopt local_options extended_glob glob_dots
|
|
|
|
0=${(%):-%x}
|
|
local prjdir="${0:A:h:h:h}"
|
|
local testdir="${0:A:h:h}"
|
|
|
|
# save path/fpath
|
|
typeset -ga T_PREV_PATH=( $path )
|
|
typeset -ga T_PREV_FPATH=( $fpath )
|
|
|
|
# save zstyles, and clear them all for the test session
|
|
typeset -ga T_PREV_ZSTYLES=( ${(@f)"$(zstyle -L ':antidote:*')"} )
|
|
source <(zstyle -L ':antidote:*' | awk '{print "zstyle -d",$2}')
|
|
|
|
# setup test functions
|
|
fpath+=( $testdir/functions )
|
|
autoload -Uz $testdir/functions/*
|
|
|
|
# mock git
|
|
function git { mockgit "$@" }
|
|
|
|
# works with BSD and GNU gmktemp
|
|
T_TEMPDIR=${$(mktemp -d -t t_antidote.XXXXXXXX):A}
|
|
typeset -g T_PREV_HOME=$HOME
|
|
typeset -g T_PREV_ZDOTDIR=$ZDOTDIR
|
|
|
|
export HOME=$T_TEMPDIR
|
|
export ZDOTDIR=$HOME/.zsh
|
|
typeset -g ANTIDOTE_HOME=$HOME/.cache/antidote
|
|
|
|
# put tmp_home into position
|
|
for p in $testdir/tmp_home/*; do
|
|
cp -rf $p $T_TEMPDIR
|
|
done
|
|
|
|
# rename .mockgit to .git
|
|
local mockdir
|
|
for mockdir in $T_TEMPDIR/**/.mock*; do
|
|
mv $mockdir ${mockdir:s/.mock/.}
|
|
done
|
|
|
|
# our mock plugins use this
|
|
typeset -ga plugins=()
|
|
typeset -ga libs=()
|
|
|
|
# setup antidote
|
|
zstyle ':antidote:tests' set-warn-options 'on'
|
|
zstyle ':antidote:tests' cloning 'off'
|
|
zstyle ':antidote:bundle' use-friendly-names on
|
|
zstyle ':antidote:defer' bundle 'getantidote/zsh-defer'
|
|
#}
|