From d49b06e0301bb526465ae1c058583114bf619cdf Mon Sep 17 00:00:00 2001 From: jhlink Date: Thu, 30 Jul 2020 09:29:33 -0400 Subject: [PATCH 1/5] fix: Find proj_options in same dir for astyle --- autoload/ale/fixers/astyle.vim | 2 +- test/fixers/test_astyle_fixer_callback.vader | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/autoload/ale/fixers/astyle.vim b/autoload/ale/fixers/astyle.vim index 04e4b69a..33a3c166 100644 --- a/autoload/ale/fixers/astyle.vim +++ b/autoload/ale/fixers/astyle.vim @@ -49,7 +49,7 @@ endfunction function! ale#fixers#astyle#Fix(buffer) abort let l:executable = ale#fixers#astyle#Var(a:buffer, 'executable') let l:proj_options = ale#fixers#astyle#FindProjectOptions(a:buffer) - let l:command = ' --stdin=' + let l:command = ' --stdin=''' . expand('#' . a:buffer) . '''' return { \ 'command': ale#Escape(l:executable) diff --git a/test/fixers/test_astyle_fixer_callback.vader b/test/fixers/test_astyle_fixer_callback.vader index cbec4493..1cd6b394 100644 --- a/test/fixers/test_astyle_fixer_callback.vader +++ b/test/fixers/test_astyle_fixer_callback.vader @@ -20,11 +20,12 @@ Execute(The astyle callback should return the correct default values): " Because this file doesn't exist, no astylrc config " exists near it. Therefore, project_options is empty. call ale#test#SetFilename('../c_files/testfile.c') + let targetfile = bufname(bufnr('%')) AssertEqual \ { \ 'command': ale#Escape(g:ale_c_astyle_executable) - \ . ' --stdin=' + \ . ' --stdin=' . ale#Escape(targetfile) \ }, \ ale#fixers#astyle#Fix(bufnr('')) @@ -33,46 +34,50 @@ Execute(The astyle callback should support cpp files): " exists near it. Therefore, project_options is empty. call ale#test#SetFilename('../cpp_files/dummy.cpp') set filetype=cpp " The test fails without this + let targetfile = bufname(bufnr('%')) AssertEqual \ { \ 'command': ale#Escape(g:ale_cpp_astyle_executable) - \ . ' --stdin=' + \ . ' --stdin=' . ale#Escape(targetfile) \ }, \ ale#fixers#astyle#Fix(bufnr('')) Execute(The astyle callback should support cpp files with option file set): call ale#test#SetFilename('../cpp_files/dummy.cpp') let g:ale_cpp_astyle_project_options = '.astylerc_cpp' + let targetfile = bufname(bufnr('%')) set filetype=cpp " The test fails without this AssertEqual \ { \ 'command': ale#Escape('invalidpp') \ . ' --project=' . g:ale_cpp_astyle_project_options - \ . ' --stdin=' + \ . ' --stdin=' . ale#Escape(targetfile) \ }, \ ale#fixers#astyle#Fix(bufnr('')) Execute(The astyle callback should return the correct default values with an option file set): call ale#test#SetFilename('../c_files/testfile.c') let g:ale_c_astyle_project_options = '.astylerc_c' + let targetfile = bufname(bufnr('%')) AssertEqual \ { \ 'command': ale#Escape('xxxinvalid') \ . ' --project=' . g:ale_c_astyle_project_options - \ . ' --stdin=' + \ . ' --stdin=' . ale#Escape(targetfile) \ }, \ ale#fixers#astyle#Fix(bufnr('')) Execute(The astyle callback should find nearest default option file _astylrc): call ale#test#SetFilename('../test_c_projects/makefile_project/subdir/file.c') + let targetfile = bufname(bufnr('%')) AssertEqual \ { \ 'command': ale#Escape('xxxinvalid') \ . ' --project=_astylerc' - \ . ' --stdin=' + \ . ' --stdin=' . ale#Escape(targetfile) \ }, \ ale#fixers#astyle#Fix(bufnr('')) From ab6aed17ab819117b3c9962961dcd1205fd314b0 Mon Sep 17 00:00:00 2001 From: jhlink Date: Thu, 30 Jul 2020 09:43:41 -0400 Subject: [PATCH 2/5] test: Find .astylerc placed with src for astyle --- test/fixers/test_astyle_fixer_callback.vader | 13 +++++++++++++ test/test_cpp_project/dummy.cpp | 0 2 files changed, 13 insertions(+) create mode 100644 test/test_cpp_project/dummy.cpp diff --git a/test/fixers/test_astyle_fixer_callback.vader b/test/fixers/test_astyle_fixer_callback.vader index 1cd6b394..086d283c 100644 --- a/test/fixers/test_astyle_fixer_callback.vader +++ b/test/fixers/test_astyle_fixer_callback.vader @@ -81,3 +81,16 @@ Execute(The astyle callback should find nearest default option file _astylrc): \ . ' --stdin=' . ale#Escape(targetfile) \ }, \ ale#fixers#astyle#Fix(bufnr('')) + +Execute(The astyle callback should find .astylrc in the same directory as src): + call ale#test#SetFilename('../test_cpp_project/dummy.cpp') + set filetype=cpp " The test fails without this + let targetfile = bufname(bufnr('%')) + + AssertEqual + \ { + \ 'command': ale#Escape('invalidpp') + \ . ' --project=.astylerc' + \ . ' --stdin=' . ale#Escape(targetfile) + \ }, + \ ale#fixers#astyle#Fix(bufnr('')) diff --git a/test/test_cpp_project/dummy.cpp b/test/test_cpp_project/dummy.cpp new file mode 100644 index 00000000..e69de29b From ac2ebafadd765746567c18058f8302f09e445c13 Mon Sep 17 00:00:00 2001 From: jhlink Date: Thu, 30 Jul 2020 09:58:14 -0400 Subject: [PATCH 3/5] fix: Force add .astylerc in test_cpp_project --- test/test_cpp_project/.astylerc | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/test_cpp_project/.astylerc diff --git a/test/test_cpp_project/.astylerc b/test/test_cpp_project/.astylerc new file mode 100644 index 00000000..e69de29b From 84a413350c30130b084097a09bfab72e0a323406 Mon Sep 17 00:00:00 2001 From: jhlink Date: Thu, 30 Jul 2020 10:07:53 -0400 Subject: [PATCH 4/5] fix: Replace hardcoded quotes with ale#Escape --- autoload/ale/fixers/astyle.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/ale/fixers/astyle.vim b/autoload/ale/fixers/astyle.vim index 33a3c166..3a5a70a1 100644 --- a/autoload/ale/fixers/astyle.vim +++ b/autoload/ale/fixers/astyle.vim @@ -49,7 +49,7 @@ endfunction function! ale#fixers#astyle#Fix(buffer) abort let l:executable = ale#fixers#astyle#Var(a:buffer, 'executable') let l:proj_options = ale#fixers#astyle#FindProjectOptions(a:buffer) - let l:command = ' --stdin=''' . expand('#' . a:buffer) . '''' + let l:command = ' --stdin=' . ale#Escape(expand('#' . a:buffer)) return { \ 'command': ale#Escape(l:executable) From e2d1e54eb5ac65e2320ac8ce977e70c7016591c4 Mon Sep 17 00:00:00 2001 From: jhlink Date: Thu, 30 Jul 2020 21:54:41 -0400 Subject: [PATCH 5/5] doc: Meaningless comment to kick CI from hang --- test/fixers/test_astyle_fixer_callback.vader | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/fixers/test_astyle_fixer_callback.vader b/test/fixers/test_astyle_fixer_callback.vader index 086d283c..ac756870 100644 --- a/test/fixers/test_astyle_fixer_callback.vader +++ b/test/fixers/test_astyle_fixer_callback.vader @@ -57,7 +57,7 @@ Execute(The astyle callback should support cpp files with option file set): \ }, \ ale#fixers#astyle#Fix(bufnr('')) -Execute(The astyle callback should return the correct default values with an option file set): +Execute(The astyle callback should return the correct default values with a specified option file): call ale#test#SetFilename('../c_files/testfile.c') let g:ale_c_astyle_project_options = '.astylerc_c' let targetfile = bufname(bufnr('%'))