X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/0ee596c5c5e11fc79598407eaf22f83d279f7e9e..5a4872f466ebd76ddd532bdf2798554421c53df4:/.vim/bundle/ale/test/fixers/test_black_fixer_callback.vader diff --git a/.vim/bundle/ale/test/fixers/test_black_fixer_callback.vader b/.vim/bundle/ale/test/fixers/test_black_fixer_callback.vader new file mode 100644 index 00000000..1a1f82fc --- /dev/null +++ b/.vim/bundle/ale/test/fixers/test_black_fixer_callback.vader @@ -0,0 +1,94 @@ +Before: + call ale#assert#SetUpFixerTest('python', 'black') + + let g:dir = getcwd() + let b:bin_dir = has('win32') ? 'Scripts' : 'bin' + +After: + call ale#assert#TearDownFixerTest() + + unlet! g:dir + unlet! b:bin_dir + +Execute(The black callback should return the correct default values): + let file_path = g:dir . '/../test-files/python/with_virtualenv/subdir/foo/bar.py' + silent execute 'file ' . fnameescape(file_path) + let fname = ale#Escape(ale#path#Simplify(file_path)) + + AssertEqual + \ { + \ 'cwd': '%s:h', + \ 'command': ale#Escape(ale#path#Simplify(g:dir . '/../test-files/python/with_virtualenv/env/' . b:bin_dir . '/black')) . ' --stdin-filename ' . fname . ' -'}, + \ ale#fixers#black#Fix(bufnr('')) + +Execute(The black callback should include options): + let g:ale_python_black_options = '--some-option' + let g:ale_python_black_change_directory = 0 + + let file_path = g:dir . '/../test-files/python/with_virtualenv/subdir/foo/bar.py' + silent execute 'file ' . fnameescape(file_path) + let fname = ale#Escape(ale#path#Simplify(file_path)) + + AssertEqual + \ {'command': ale#Escape(ale#path#Simplify(g:dir . '/../test-files/python/with_virtualenv/env/' . b:bin_dir . '/black')) . ' --some-option --stdin-filename ' . fname . ' -'}, + \ ale#fixers#black#Fix(bufnr('')) + +Execute(The black callback should include --pyi for .pyi files): + let g:ale_python_black_change_directory = 0 + + let file_path = g:dir . '/../test-files/python/with_virtualenv/subdir/foo/bar.pyi' + silent execute 'file ' . fnameescape(file_path) + let fname = ale#Escape(ale#path#Simplify(file_path)) + + AssertEqual + \ {'command': ale#Escape(ale#path#Simplify(g:dir . '/../test-files/python/with_virtualenv/env/' . b:bin_dir . '/black')) . ' --stdin-filename ' . fname . ' --pyi -'}, + \ ale#fixers#black#Fix(bufnr('')) + +Execute(The black callback should not concatenate options): + let g:ale_python_black_options = '--some-option' + let g:ale_python_black_change_directory = 0 + + let file_path = g:dir . '/../test-files/python/with_virtualenv/subdir/foo/bar.pyi' + silent execute 'file ' . fnameescape(file_path) + let fname = ale#Escape(ale#path#Simplify(file_path)) + + AssertEqual + \ {'command': ale#Escape(ale#path#Simplify(g:dir . '/../test-files/python/with_virtualenv/env/' . b:bin_dir . '/black')) . ' --some-option --stdin-filename ' . fname. ' --pyi -'}, + \ ale#fixers#black#Fix(bufnr('')) + +Execute(Pipenv is detected when python_black_auto_pipenv is set): + let g:ale_python_black_auto_pipenv = 1 + let g:ale_python_black_change_directory = 0 + + call ale#test#SetFilename('../test-files/python/pipenv/whatever.py') + + let fname = ale#Escape(ale#path#Simplify(g:dir .'/../test-files/python/pipenv/whatever.py')) + + AssertEqual + \ {'command': ale#Escape('pipenv') . ' run black --stdin-filename '.fname.' -'}, + \ ale#fixers#black#Fix(bufnr('')) + +Execute(Poetry is detected when python_black_auto_poetry is set): + let g:ale_python_black_auto_poetry = 1 + let g:ale_python_black_change_directory = 0 + + call ale#test#SetFilename('../test-files/python/poetry/whatever.py') + + let fname = ale#Escape(ale#path#Simplify(g:dir .'/../test-files/python/poetry/whatever.py')) + + AssertEqual + \ {'command': ale#Escape('poetry') . ' run black --stdin-filename '.fname.' -'}, + \ ale#fixers#black#Fix(bufnr('')) + +Execute(uv is detected when python_black_auto_uv is set): + let g:ale_python_black_auto_uv = 1 + let g:ale_python_black_change_directory = 0 + + call ale#test#SetFilename('../test-files/python/uv/whatever.py') + + let fname = ale#Escape(ale#path#Simplify(g:dir .'/../test-files/python/uv/whatever.py')) + + AssertEqual + \ {'command': ale#Escape('uv') . ' run black --stdin-filename '.fname.' -'}, + \ ale#fixers#black#Fix(bufnr('')) + \ No newline at end of file