Add new testing

This commit is contained in:
Andy K. Massimino
2021-06-10 22:03:00 -04:00
parent e8cc8d9b14
commit 7f750bb0e6
7 changed files with 147 additions and 0 deletions

View File

@@ -36,3 +36,9 @@ jobs:
- name: 'Run test'
run: |
bash ./test/vader/run
- name: 'Run new tests'
env:
MYVIM: vim -T dumb --not-a-term -n
run: |
cd ./test/new && make -j1

52
autoload/matchup/test.vim Normal file
View File

@@ -0,0 +1,52 @@
" vim match-up - even better matching
"
" Maintainer: Andy Massimino
" Email: a@normed.space
"
function! matchup#test#assert(condition) abort " {{{1
if a:condition | return 1 | endif
call s:fail()
endfunction
" }}}1
function! matchup#test#assert_equal(expect, observe) abort " {{{1
if a:expect ==# a:observe | return 1 | endif
call s:fail([
\ 'expect: ' . string(a:expect),
\ 'observe: ' . string(a:observe),
\])
endfunction
" }}}1
function! matchup#test#assert_match(x, regex) abort " {{{1
if a:x =~# a:regex | return 1 | endif
call s:fail([
\ 'x = ' . string(a:x),
\ 'regex = ' . a:regex,
\])
endfunction
" }}}1
function! s:fail(...) abort " {{{1
echo 'Assertion failed!'
if a:0 > 0 && !empty(a:1)
if type(a:1) == v:t_string
echo a:1
else
for line in a:1
echo line
endfor
endif
endif
echon "\n"
cquit
endfunction
" }}}1

31
test/new/Makefile Normal file
View File

@@ -0,0 +1,31 @@
MYVIM ?= nvim --headless
MAKEFLAGS+=--no-print-directory
TESTS := $(wildcard test-*)
.PHONY: test $(TESTS)
test: $(TESTS)
sysinfo:
@echo "**** SYSTEM INFORMATION ****"
@-git log -1
@-$(MYVIM) --version
@echo "**** SYSTEM INFORMATION ****"
$(TESTS):
$(MAKE) -C $@
coverage: htmlcov/index.html
htmlcov/index.html: env /tmp/vim-profile.txt
. env/bin/activate
covimerage write_coverage /tmp/vim-profile.txt --source ../../autoload --source ../../plugin
coverage report -m
coverage html
env: env/pyvenv.cfg
env/pyvenv.cfg:
python3 -m venv env
bash -c 'source env/bin/activate; pip install "click<8.0.0" covimerage'

View File

@@ -0,0 +1,16 @@
set packpath-=~/.vim packpath-=~/.vim/after
set packpath-=~/.config/nvim packpath-=~/.config/nvim/after
let &rtp = '../../..,' . &rtp
let &rtp = &rtp . ',../../../after'
profile start /tmp/vim-profile.txt
profile! file */matchup/*.vim
filetype plugin indent on
syntax enable
let g:matchup_override_vimtex = 1
runtime! plugin/matchup.vim
nnoremap q :qall!<cr>

View File

@@ -0,0 +1,9 @@
.PHONY: test
MYVIM ?= nvim --headless
INMAKE := 1
export INMAKE
test:
@$(MYVIM) -u test.vim

View File

@@ -0,0 +1,12 @@
\[
\begin{gathered}
First equation \\
Second equation \\[1ex]
Third and last equation
\end{gathered}
\]
\begin{a}
\begin{b}
\end{c}
\end{d}

View File

@@ -0,0 +1,21 @@
set nocompatible
source ../common/bootstrap.vim
let g:tex_flavor = "latex"
silent edit test.tex
call matchup#perf#timeout_start(0)
normal! 7G
let s:current = matchup#delim#get_current('all', 'both')
let s:corresponding = matchup#delim#get_matching(s:current)
call matchup#test#assert_equal(1, s:corresponding[0].lnum)
normal! 9G
let s:current = matchup#delim#get_current('all', 'both')
let s:corresponding = matchup#delim#get_matching(s:current)
call matchup#test#assert_equal(9, s:current.lnum)
call matchup#test#assert_equal(1, len(s:corresponding))
quit!