mirror of
https://github.com/zdharma-continuum/zinit.git
synced 2025-01-31 00:58:17 +01:00
84 lines
3.1 KiB
Bash
Executable file
84 lines
3.1 KiB
Bash
Executable file
#!/usr/bin/env zunit
|
|
|
|
@setup {
|
|
GH_RAW_URL='https://raw.githubusercontent.com'
|
|
setup_snippet_ok() { # state=$1, output=$2, file=$3
|
|
assert $1 equals 0
|
|
assert $2 contains "Setting up snippet"
|
|
assert $3 is_file; assert $3 is_readable
|
|
}
|
|
install_completion(){
|
|
zinit for as'completion' nocompile id-as"$1" is-snippet "$GH_RAW_URL/$2"
|
|
}
|
|
}
|
|
|
|
@test 'OMZL::spectrum.zsh' {
|
|
run zinit snippet OMZL::spectrum.zsh
|
|
setup_snippet_ok $state $output "$ZINIT[SNIPPETS_DIR]/OMZL::spectrum.zsh/OMZL::spectrum.zsh"
|
|
}
|
|
@test 'OMZP::git' {
|
|
run zinit snippet OMZP::git
|
|
setup_snippet_ok $state $output "$ZINIT[SNIPPETS_DIR]/OMZP::git/OMZP::git"
|
|
}
|
|
@test 'PZTM::environment' {
|
|
run zinit snippet PZTM::environment
|
|
setup_snippet_ok $state $output "$ZINIT[SNIPPETS_DIR]/PZTM::environment/PZTM::environment"
|
|
}
|
|
|
|
@test 'bat-completion' {
|
|
run install_completion 'bat-completion/_bat' 'sharkdp/bat/master/assets/completions/bat.zsh.in'
|
|
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_bat
|
|
}
|
|
@test 'brew-completion' {
|
|
run install_completion 'brew-completion/_brew' 'Homebrew/brew/master/completions/zsh/_brew'
|
|
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_brew
|
|
}
|
|
@test 'docker-completion' {
|
|
run install_completion 'docker-completion/_docker' 'docker/cli/master/contrib/completion/zsh/_docker'
|
|
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_docker
|
|
}
|
|
@test 'exa-completion' {
|
|
run install_completion 'exa-completion/_exa' 'ogham/exa/master/completions/zsh/_exa'
|
|
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_exa
|
|
}
|
|
@test 'fd-completion' {
|
|
run install_completion 'fd-completion/_fd' 'sharkdp/fd/master/contrib/completion/_fd'
|
|
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_fd
|
|
}
|
|
@test 'tldr-completion::snippet' {
|
|
run install_completion 'tldr-completion/_tldr' 'tealdeer-rs/tealdeer/main/completion/zsh_tealdeer'
|
|
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_tldr
|
|
zinit delete --yes tldr-completion/_tldr; zinit cclear
|
|
}
|
|
@test 'tldr-completion::gh-r' {
|
|
artifact="$ZINIT[PLUGINS_DIR]/tldr-completion---gh-r"
|
|
run zinit for as"completion" from"gh-r" id-as'tldr-completion/gh-r' bpick"completions_zsh" mv"completions_zsh -> _tldr_ghr" pick"_tldr_ghr" @tealdeer-rs/tealdeer
|
|
assert $state equals 0
|
|
assert "$artifact/_tldr_ghr" is_file
|
|
assert $artifact/_tldr_ghr is_readable
|
|
assert "$ZINIT[COMPLETIONS_DIR]"/_tldr_ghr is_file
|
|
assert "$ZINIT[COMPLETIONS_DIR]"/_tldr_ghr is_readable
|
|
}
|
|
@test 'zinit local snippet symlink' {
|
|
mkdir -p "${ZINIT[HOME_DIR]}/external"
|
|
local actual="${ZINIT[HOME_DIR]}/external/mysnippet.zsh"
|
|
cat<<EOF >$actual
|
|
alias foo=date
|
|
EOF
|
|
run zinit is-snippet link nocompile id-as'mysnippet' for $actual
|
|
|
|
assert $state equals 0
|
|
assert "$output" contains "Setting up snippet"
|
|
assert "$output" contains "Linking"
|
|
|
|
local artifact="${ZINIT[SNIPPETS_DIR]}/mysnippet/mysnippet"
|
|
assert $artifact is_link
|
|
assert $artifact is_readable
|
|
|
|
local link="$(readlink "$artifact")"
|
|
local target="$(cd ${artifact:h}; cd ${link:h}; pwd)/${link:t}"
|
|
assert $target same_as $actual
|
|
}
|
|
|
|
|
|
# vim:ft=zsh:sw=2:sts=2:et:foldmarker=@test,}:foldmethod=marker
|