summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml14
-rw-r--r--Dockerfile13
-rw-r--r--Makefile14
-rw-r--r--test/example.vader9
-rw-r--r--test/vimrc21
5 files changed, 67 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml
index 03ad0177..11adf95d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,14 @@
---
+sudo: required
+services:
+ - docker
language: python
python: 2.7
cache: pip
-install:
- - "pip install vim-vint==0.3.9"
-script:
- - "vint -s ."
+install: |
+ pip install vim-vint==0.3.9
+script: |
+ EXIT=0
+ vint -s || EXIT=$?
+ make test || EXIT=$?
+ exit $EXIT
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..2944bbad
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,13 @@
+FROM tweekmonster/vim-testbed:latest
+
+RUN install_vim -tag v8.0.0000 -build \
+ -tag v8.0.0027 -build
+
+ENV PACKAGES="\
+ git \
+"
+RUN apk --update add $PACKAGES && \
+ rm -rf /var/cache/apk/* /tmp/* /var/tmp/*
+
+RUN git clone https://github.com/junegunn/vader.vim vader && \
+ cd vader && git checkout c6243dd81c98350df4dec608fa972df98fa2a3af
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..292f20bd
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,14 @@
+IMAGE ?= w0rp/ale
+DOCKER = docker run -a stderr --rm -v $(PWD):/testplugin -v $(PWD)/test:/home "$(IMAGE)"
+
+test-setup:
+ docker images -q $(IMAGE) || docker pull $(IMAGE)
+
+test: test-setup
+ vims=$$(docker run --rm $(IMAGE) ls /vim-build/bin | grep -E '^n?vim'); \
+ if [ -z "$$vims" ]; then echo "No Vims found!"; exit 1; fi; \
+ for vim in $$vims; do \
+ $(DOCKER) $$vim '+Vader! test/*'; \
+ done
+
+.PHONY: test-setup test
diff --git a/test/example.vader b/test/example.vader
new file mode 100644
index 00000000..24aa2f0b
--- /dev/null
+++ b/test/example.vader
@@ -0,0 +1,9 @@
+Given (Hello):
+ Hello
+
+Do (yyp):
+ yyp
+
+Expect (Hello\nHello):
+ Hello
+ Hello
diff --git a/test/vimrc b/test/vimrc
new file mode 100644
index 00000000..043f75b9
--- /dev/null
+++ b/test/vimrc
@@ -0,0 +1,21 @@
+" Load builtin plugins
+" We need this because run_vim.sh sets -i NONE
+set rtp=/home/vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,/home/vim/after
+set rtp+=/vader
+
+" The following is just an example
+filetype plugin indent on
+syntax on
+set nocompatible
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+set expandtab
+set backspace=2
+set nofoldenable
+set foldmethod=syntax
+set foldlevelstart=10
+set foldnestmax=10
+set ttimeoutlen=0
+
+let mapleader=','