diff options
author | Jake Kaufman <me@jake.computer> | 2019-06-05 23:18:33 -0400 |
---|---|---|
committer | Jake Kaufman <me@jake.computer> | 2019-06-08 19:22:50 -0400 |
commit | 56641e02301475cfee9ddcaf547066898f073048 (patch) | |
tree | 3b297ebff78b4d0794f62172510adb83ae2e0ce8 /test | |
parent | 7b78f2b846e2f3443dcb2ceacee54eb99e37f040 (diff) | |
download | ale-56641e02301475cfee9ddcaf547066898f073048.zip |
Add support for reorder-python-imports fixer
isort is great, but I've come to prefer reorder-python-imports. The tool
has a focus on smaller diffs than isort. reorder-python-imports is also
a little smarter than isort which is nice.
Diffstat (limited to 'test')
3 files changed, 49 insertions, 0 deletions
diff --git a/test/command_callback/python_paths/with_virtualenv/env/Scripts/reorder-python-imports.exe b/test/command_callback/python_paths/with_virtualenv/env/Scripts/reorder-python-imports.exe new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/test/command_callback/python_paths/with_virtualenv/env/Scripts/reorder-python-imports.exe diff --git a/test/command_callback/python_paths/with_virtualenv/env/bin/reorder-python-imports b/test/command_callback/python_paths/with_virtualenv/env/bin/reorder-python-imports new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/test/command_callback/python_paths/with_virtualenv/env/bin/reorder-python-imports diff --git a/test/fixers/test_reorder_python_imports_fixer_callback.vader b/test/fixers/test_reorder_python_imports_fixer_callback.vader new file mode 100644 index 00000000..30b64eb8 --- /dev/null +++ b/test/fixers/test_reorder_python_imports_fixer_callback.vader @@ -0,0 +1,49 @@ +Before: + Save g:ale_python_reorder_python_imports_executable + Save g:ale_python_reorder_python_imports_options + + " Use an invalid global executable, so we don't match it. + let g:ale_python_reorder_python_imports_executable = 'xxxinvalid' + let g:ale_python_reorder_python_imports_options = '' + + call ale#test#SetDirectory('/testplugin/test/fixers') + silent cd .. + silent cd command_callback + let g:dir = getcwd() + + let b:bin_dir = has('win32') ? 'Scripts' : 'bin' + +After: + Restore + + unlet! b:bin_dir + + call ale#test#RestoreDirectory() + +Execute(The reorder_python_imports callback should return the correct default values): + AssertEqual + \ 0, + \ ale#fixers#reorder_python_imports#Fix(bufnr('')) + + silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py') + AssertEqual + \ { + \ 'command': ale#Escape(ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/env/' + \ . b:bin_dir . '/reorder-python-imports')) . ' -', + \ }, + \ ale#fixers#reorder_python_imports#Fix(bufnr('')) + +Execute(The reorder_python_imports callback should respect custom options): + let g:ale_python_reorder_python_imports_options = '--py3-plus' + + AssertEqual + \ 0, + \ ale#fixers#reorder_python_imports#Fix(bufnr('')) + + silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py') + AssertEqual + \ { + \ 'command': ale#Escape(ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/env/' + \ . b:bin_dir . '/reorder-python-imports')) . ' --py3-plus -', + \ }, + \ ale#fixers#reorder_python_imports#Fix(bufnr('')) |