Files
vim-vue-plugin/test/run.sh
T
leafOfTree 68b866210b
test / test (push) Canceled after 0s
Test all features
Add cases for attribute highlight on and off, block syntax by lang
and emmet-vim group names, OnChangeVueSyntax(), matchit, .wpy,
initial_indent as syntax and tag.syntax, and syntax after reloading.

Also check indenting a file after removing all indent with
g:test_flatten, which fails before the end tag fix as closing tags at
column 0 were taken as block end tags.
2026-10-20 01:21:17 +00:00

48 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# Run all test cases, or the ones given as arguments, with vim and nvim if
# they are installed. Vim runs in a pseudo terminal by `script`, as syntax
# in Ex mode (-es) isn't the same as in a terminal.
# ./test/run.sh
# ./test/run.sh basic template
cd "$(dirname "$0")/.." || exit 1
# Syntax plugins used by test/cases/example.vue
mkdir -p test/deps
for repo in digitaltoad/vim-pug kchmck/vim-coffee-script \
leafgarland/typescript-vim iloginow/vim-stylus; do
dir=test/deps/${repo#*/}
[ -d "$dir" ] || git clone -q --depth 1 "https://github.com/$repo" "$dir"
done
if [ $# -gt 0 ]; then
cases=$*
else
cases=$(ls test/cases/*.vue test/cases/*.wpy 2>/dev/null | sed 's#.*/##; s#\.[a-z]*$##')
fi
out=$(mktemp)
status=0
expected=0
for name in $cases; do
if command -v vim >/dev/null; then
expected=$((expected + 1))
VUE_TEST_CASE=$name VUE_TEST_OUT=$out timeout 60 script -qec \
'stty rows 40 cols 120; vim -N -u NONE -i NONE -S test/run.vim' \
/dev/null >/dev/null || status=1
fi
if command -v nvim >/dev/null; then
expected=$((expected + 1))
VUE_TEST_CASE=$name VUE_TEST_OUT=$out timeout 60 \
nvim --headless -u NONE -i NONE -S test/run.vim || status=1
fi
done
cat "$out"
passed=$(grep -c '^ok' "$out")
failed=$(grep -c '^FAIL' "$out")
missing=$((expected - passed - failed))
echo "$passed passed, $failed failed, $missing without result"
[ $failed -eq 0 ] && [ $missing -eq 0 ] || status=1
rm -f "$out"
exit $status