Skip to content

Commit

Permalink
Add tests support via vader.vim
Browse files Browse the repository at this point in the history
  • Loading branch information
bergercookie committed Jan 8, 2018
1 parent df70a4a commit 7099036
Show file tree
Hide file tree
Showing 20 changed files with 127 additions and 23 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
tags
a.*
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,5 +121,7 @@ vim.org](https://vim.sourceforge.io/scripts/script.php?script_id=5634)
- [ ] Append to current line if that is empty
- [x] Support repeat.vim
- [ ] Use an assertion module


- [x] Use vader.vim for TDD
- [ ] Extend vader support for rest of languages
- [ ] Use travis for CI
- [x] Bug with changing the filename of the current file
2 changes: 1 addition & 1 deletion ftplugin/c.vim
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ function! s:DebugStringFun()
return DebugStringFunC()
endfunc

command -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
command! -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
4 changes: 2 additions & 2 deletions ftplugin/cmake.vim
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ function! s:DebugStringFunExpr(expr)
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
command -buffer -nargs=1 AddDebugStringExpr put=s:DebugStringFunExpr(<args>)
command! -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
command! -buffer -nargs=1 AddDebugStringExpr put=s:DebugStringFunExpr(<args>)

4 changes: 2 additions & 2 deletions ftplugin/cpp.vim
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ function! s:DebugStringFunExpr(expr)
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString :put=s:DebugStringFun()
command -buffer -nargs=1 AddDebugStringExpr :put=s:DebugStringFunExpr(<args>)
command! -buffer -nargs=0 AddDebugString :put=s:DebugStringFun()
command! -buffer -nargs=1 AddDebugStringExpr :put=s:DebugStringFunExpr(<args>)

4 changes: 2 additions & 2 deletions ftplugin/fortran.vim
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ function! s:DebugStringFunBase(desc, var)
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString
command! -buffer -nargs=0 AddDebugString
\ put=s:DebugStringFunBase(g:DebugstringPrefixStr(), g:debugStringCounter)
command -buffer -nargs=1 AddDebugStringExpr
command! -buffer -nargs=1 AddDebugStringExpr
\ put=s:DebugStringFunBase(<args> . ': ', <args>)

4 changes: 2 additions & 2 deletions ftplugin/haskell.vim
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ function! s:DebugStringFunBase(desc, var)
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString
command! -buffer -nargs=0 AddDebugString
\ put=s:DebugStringFunBase(g:DebugstringPrefixStr(), g:debugStringCounter)
command -buffer -nargs=1 AddDebugStringExpr
command! -buffer -nargs=1 AddDebugStringExpr
\ put=s:DebugStringFunBase(<args> . ': ', <args>)
4 changes: 2 additions & 2 deletions ftplugin/java.vim
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ function! s:DebugStringFunBase(desc, var)
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString
command! -buffer -nargs=0 AddDebugString
\ put=s:DebugStringFunBase(g:DebugstringPrefixStr(), g:debugStringCounter)
command -buffer -nargs=1 AddDebugStringExpr
command! -buffer -nargs=1 AddDebugStringExpr
\ put=s:DebugStringFunBase(<args> . ': ', <args>)
2 changes: 1 addition & 1 deletion ftplugin/javascript.vim
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ function! s:DebugStringFun()
:return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
command! -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
4 changes: 2 additions & 2 deletions ftplugin/php.vim
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ function! s:DebugStringFun(desc, ...)
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString
command! -buffer -nargs=0 AddDebugString
\ put=s:DebugStringFun(g:DebugstringPrefixStr() . g:debugStringCounter)
command -buffer -nargs=1 AddDebugStringExpr
command! -buffer -nargs=1 AddDebugStringExpr
\ put=s:DebugStringFun(<args> . ': ', <args>)
2 changes: 1 addition & 1 deletion ftplugin/python.vim
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ function! s:DebugStringFun()
return DebugStringFunPython()
endfunc

command -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
command! -buffer -nargs=0 AddDebugString put=s:DebugStringFun()

2 changes: 1 addition & 1 deletion ftplugin/r.vim
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ function! s:DebugStringFun()
return DebugStringFunPython()
endfunc

command -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
command! -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
2 changes: 1 addition & 1 deletion ftplugin/ruby.vim
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ function! s:DebugStringFun()
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
command! -buffer -nargs=0 AddDebugString put=s:DebugStringFun()
4 changes: 2 additions & 2 deletions ftplugin/sh.vim
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ function! s:DebugStringFun(desc, ...)

endfunc

command -buffer -nargs=0 AddDebugString
command! -buffer -nargs=0 AddDebugString
\ put=s:DebugStringFun(g:DebugstringPrefixStr() . g:debugStringCounter)
command -buffer -nargs=1 AddDebugStringExpr
command! -buffer -nargs=1 AddDebugStringExpr
\ put=s:DebugStringFun(<args> . ': ', <args>)
4 changes: 2 additions & 2 deletions ftplugin/vim.vim
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ function! s:DebugStringFunBase(desc, var)
return l:debug_str
endfunc

command -buffer -nargs=0 AddDebugString
command! -buffer -nargs=0 AddDebugString
\ put=s:DebugStringFunBase(g:DebugstringPrefixStr(), g:debugStringCounter)
command -buffer -nargs=1 AddDebugStringExpr
command! -buffer -nargs=1 AddDebugStringExpr
\ put=s:DebugStringFunBase(<args> . ': ', <args>)
67 changes: 67 additions & 0 deletions test/basic.vader
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Test case

# mapleader is set in the local vimrc
#
# Line +Text: 3
# Line -Text: 8

Include: text_setup.vader
Include: env_setup.vader

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Execute (C +std_debug +Text):
:set filetype=c
3
AssertEqual getline('.'), 'And each in your season', "Current line contents don't match"
:normal ,ds
:normal .

Log join(getline(1,'$'), "\n")

Then ():
4
Log join(getline(1,'$'), "\n")
AssertEqual getline('.'), 'printf("[[Vader-workbench]:4] DEBUGGING STRING ==> 0\n");'
6
AssertEqual getline('.'), 'printf("[[Vader-workbench]:6] DEBUGGING STRING ==> 1\n");'

================================================================================

Execute (C +std_debug -Text):
:set filetype=c
8
AssertEqual getline('.'), '', "Current line is not empty"
:normal ,ds

Then ():
8
AssertEqual getline('.'), 'printf("[[Vader-workbench]:8] DEBUGGING STRING ==> 0\n");'

================================================================================

Execute (C +var_debug -Text TODO):
:set filetype=c
Then ():
================================================================================
Execute (C +var_debug +Text TODO):
:set filetype=c
Then ():
================================================================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# cmake
# cpp
# fortran
# haskell
# javascript
# java
# php
# python
# ruby
# r
# sh
# vim

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 changes: 2 additions & 0 deletions test/env_setup.vader
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Before (setup):
ResetDebugCounter
8 changes: 8 additions & 0 deletions test/run-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# file taken directly from https://github.com/junegunn/vader.vim

# Do not "cd" to any existing "test" dir from CDPATH!
unset CDPATH

cd "$(dirname "${BASH_SOURCE[0]}")" && vim -Nu vimrc -c 'Vader! basic.vader' \
> /dev/null
11 changes: 11 additions & 0 deletions test/text_setup.vader
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Given (stars-javert):
You know your place in the sky
You hold your course and your aim
And each in your season
Returns and returns
And is always the same
And if you fall as Lucifer fell
You fall in flame!

Source: https://www.youtube.com/watch?v=lXsJ3Q5Z7cM

13 changes: 13 additions & 0 deletions test/vimrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
filetype off
let mapleader = ","

set runtimepath+=~/.vim/bundle/vader.vim
set runtimepath+=~/.vim/bundle/vim-debugstring
set runtimepath+=~/.vim/bundle/vim-repeat

filetype plugin indent on
syntax enable
set nomore
set noswapfile
set viminfo=

0 comments on commit 7099036

Please sign in to comment.