summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml11
-rw-r--r--Dockerfile17
-rw-r--r--Makefile17
-rw-r--r--test/example.vader9
-rw-r--r--test/vimrc21
5 files changed, 69 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml
index 03ad0177..d6da2530 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,7 @@
---
+sudo: required
+services:
+ - docker
language: python
-python: 2.7
-cache: pip
-install:
- - "pip install vim-vint==0.3.9"
-script:
- - "vint -s ."
+script: |
+ make test
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..7ef5e77c
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,17 @@
+FROM tweekmonster/vim-testbed:latest
+
+RUN install_vim -tag v8.0.0000 -build \
+ -tag v8.0.0027 -build
+
+ENV PACKAGES="\
+ git \
+ python=2.7.12-r0 \
+ py-pip=8.1.2-r0 \
+"
+RUN apk --update add $PACKAGES && \
+ rm -rf /var/cache/apk/* /tmp/* /var/tmp/*
+
+RUN pip install vim-vint==0.3.9
+
+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..b0bbf3ee
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,17 @@
+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; \
+ EXIT=0; \
+ for vim in $$vims; do \
+ $(DOCKER) $$vim '+Vader! test/*' || EXIT=$$?; \
+ done; \
+ $(DOCKER) vint -s /testplugin || EXIT=$$?; \
+ exit $$EXIT;
+
+.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=','