summaryrefslogtreecommitdiff
path: root/test/command_callback/test_mypy_command_callback.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-07-15 18:24:53 +0100
committerw0rp <devw0rp@gmail.com>2018-07-15 18:28:28 +0100
commita42999a639b2916b769a85f37d037be314d9d61b (patch)
tree5ebfb4d357dc673efa93fd32a66b489c4510de40 /test/command_callback/test_mypy_command_callback.vader
parent5155a35a80fe3b20659eb0f28cc6cc720532dd3f (diff)
downloadale-a42999a639b2916b769a85f37d037be314d9d61b.zip
Massively reduce the amount of code needed for linter tests
Diffstat (limited to 'test/command_callback/test_mypy_command_callback.vader')
-rw-r--r--test/command_callback/test_mypy_command_callback.vader69
1 files changed, 17 insertions, 52 deletions
diff --git a/test/command_callback/test_mypy_command_callback.vader b/test/command_callback/test_mypy_command_callback.vader
index 0fb4cc54..988dfb1b 100644
--- a/test/command_callback/test_mypy_command_callback.vader
+++ b/test/command_callback/test_mypy_command_callback.vader
@@ -1,106 +1,71 @@
Before:
- Save g:ale_python_mypy_executable
- Save g:ale_python_mypy_options
- Save g:ale_python_mypy_use_global
-
- unlet! g:ale_python_mypy_executable
- unlet! g:ale_python_mypy_options
- unlet! g:ale_python_mypy_use_global
+ call ale#assert#SetUpLinterTest('python', 'mypy')
+ call ale#test#SetFilename('test.py')
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
- runtime ale_linters/python/mypy.vim
-
- call ale#test#SetDirectory('/testplugin/test/command_callback')
- call ale#test#SetFilename('test.py')
-
After:
- Restore
-
unlet! b:bin_dir
unlet! b:executable
- call ale#test#RestoreDirectory()
- call ale#linter#Reset()
+ call ale#assert#TearDownLinterTest()
Execute(The mypy callbacks should return the correct default values):
- AssertEqual
- \ 'mypy',
- \ ale_linters#python#mypy#GetExecutable(bufnr(''))
- AssertEqual
+ AssertLinter 'mypy',
\ 'cd ' . ale#Escape(g:dir) . ' && ' . ale#Escape('mypy')
\ . ' --show-column-numbers '
- \ . '--shadow-file %s %t %s',
- \ ale_linters#python#mypy#GetCommand(bufnr(''))
+ \ . '--shadow-file %s %t %s'
Execute(The mypy executable should be configurable, and escaped properly):
let g:ale_python_mypy_executable = 'executable with spaces'
- AssertEqual
- \ 'executable with spaces',
- \ ale_linters#python#mypy#GetExecutable(bufnr(''))
- AssertEqual
+ AssertLinter 'executable with spaces',
\ 'cd ' . ale#Escape(g:dir) . ' && ' . ale#Escape('executable with spaces')
\ . ' --show-column-numbers '
- \ . '--shadow-file %s %t %s',
- \ ale_linters#python#mypy#GetCommand(bufnr(''))
+ \ . '--shadow-file %s %t %s'
Execute(The mypy command callback should let you set options):
let g:ale_python_mypy_options = '--some-option'
- AssertEqual
+ AssertLinter 'mypy',
\ 'cd ' . ale#Escape(g:dir) . ' && ' . ale#Escape('mypy')
\ . ' --show-column-numbers --some-option '
- \ . '--shadow-file %s %t %s',
- \ ale_linters#python#mypy#GetCommand(bufnr(''))
+ \ . '--shadow-file %s %t %s'
Execute(The mypy command should switch directories to the detected project root):
silent execute 'file ' . fnameescape(g:dir . '/python_paths/no_virtualenv/subdir/foo/bar.py')
- AssertEqual
- \ 'mypy',
- \ ale_linters#python#mypy#GetExecutable(bufnr(''))
- AssertEqual
+ AssertLinter 'mypy',
\ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/python_paths/no_virtualenv/subdir'))
\ . ' && ' . ale#Escape('mypy')
\ . ' --show-column-numbers '
- \ . '--shadow-file %s %t %s',
- \ ale_linters#python#mypy#GetCommand(bufnr(''))
+ \ . '--shadow-file %s %t %s'
Execute(The mypy callbacks should detect virtualenv directories and switch to the project root):
silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py')
let b:executable = ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/env/' . b:bin_dir . '/mypy')
- AssertEqual
- \ b:executable,
- \ ale_linters#python#mypy#GetExecutable(bufnr(''))
- AssertEqual
+ AssertLinter b:executable,
\ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/subdir'))
\ . ' && ' . ale#Escape(b:executable)
\ . ' --show-column-numbers '
- \ . '--shadow-file %s %t %s',
- \ ale_linters#python#mypy#GetCommand(bufnr(''))
+ \ . '--shadow-file %s %t %s'
Execute(You should able able to use the global mypy instead):
silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py')
let g:ale_python_mypy_use_global = 1
- AssertEqual
- \ 'mypy',
- \ ale_linters#python#mypy#GetExecutable(bufnr(''))
- AssertEqual
+ AssertLinter 'mypy',
\ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/subdir'))
\ . ' && ' . ale#Escape('mypy')
\ . ' --show-column-numbers '
- \ . '--shadow-file %s %t %s',
- \ ale_linters#python#mypy#GetCommand(bufnr(''))
+ \ . '--shadow-file %s %t %s'
Execute(Setting executable to 'pipenv' appends 'run mypy'):
let g:ale_python_mypy_executable = 'path/to/pipenv'
- AssertEqual
+ AssertLinter 'path/to/pipenv',
\ ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('path/to/pipenv') . ' run mypy'
- \ . ' --show-column-numbers --shadow-file %s %t %s',
- \ ale_linters#python#mypy#GetCommand(bufnr(''))
+ \ . ' --show-column-numbers --shadow-file %s %t %s'