53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# Vimwiki Tests
|
|
|
|
This directory contains a test framework used to automatically test/verify
|
|
Vimwiki functionality. It is based on the following tools:
|
|
|
|
- [vim-testbed](https://github.com/tweekmonster/vim-testbed)
|
|
- [Vader](https://github.com/junegunn/vader.vim)
|
|
- [Vint](https://github.com/Kuniwak/vint)
|
|
|
|
## Resources
|
|
|
|
- [Vim patches](http://ftp.vim.org/pub/vim/patches/)
|
|
- Example test cases:
|
|
- [vim-easy-align](https://github.com/junegunn/vim-easy-align/tree/master/test)
|
|
- [vim-plug](https://github.com/junegunn/vim-plug/tree/master/test)
|
|
- [ale](https://github.com/w0rp/ale/tree/master/test)
|
|
- [Other projects](https://github.com/junegunn/vader.vim/wiki/Projects-using-Vader)
|
|
|
|
## Building Docker Image
|
|
|
|
To build the Docker image run `docker build -t vimwiki` from the Vimwiki
|
|
repository root (same location as the Dockerfile).
|
|
|
|
## Running Tests
|
|
|
|
### Manual Steps
|
|
|
|
Starting in the test directory run this command:
|
|
|
|
```sh
|
|
docker run -it --rm -v $PWD/../:/testplugin -v $PWD/../test:/home vimwiki vim_7.4.1099 -u test/vimrc -i NONE
|
|
```
|
|
|
|
This will open a vim instance in the docker container and then all tests
|
|
can be run with `:Vader test/*` or individual tests can be run.
|
|
|
|
**Note:** Substitute `vim_7.4.1099` for any of the vim versions in the Dockerfile.
|
|
|
|
### Automated Tests
|
|
|
|
The script in the `test/` directory named `run_test.sh` can be used to
|
|
automatically run all tests for all installed vim versions. The vim/nvim
|
|
versions are parsed from the Dockerfile. This script will also run `Vint` for all
|
|
plugin source files. For more information run `./run_tests.sh -h`.
|
|
|
|
## Known Issues
|
|
|
|
1. neovim v0.2.x does not work correctly with Vader output from the docker
|
|
container. No test results are printed and an error message saying
|
|
`Vim: Error reading input, exiting...`
|
|
- Probably need to look into this more and determine if the issue is Vader,
|
|
Neovim, or Docker.
|