summaryrefslogtreecommitdiff
path: root/test/fixers
diff options
context:
space:
mode:
authorBartek thindil Jasicki <thindil@laeran.pl>2020-07-31 07:56:28 +0200
committerBartek thindil Jasicki <thindil@laeran.pl>2020-07-31 07:56:28 +0200
commit9a9d12cf4f3dda8ab45d38b10d5f3e01efc9b5d6 (patch)
tree1fcb23a7b16d22e397d6d7b52419b060d81d1c22 /test/fixers
parente06060a31fbdc58221234e9344023f3372e93629 (diff)
parentfc7b4585e630313560def02806b02e08f84d8f5d (diff)
downloadale-9a9d12cf4f3dda8ab45d38b10d5f3e01efc9b5d6.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'test/fixers')
-rw-r--r--test/fixers/test_astyle_fixer_callback.vader78
1 files changed, 78 insertions, 0 deletions
diff --git a/test/fixers/test_astyle_fixer_callback.vader b/test/fixers/test_astyle_fixer_callback.vader
new file mode 100644
index 00000000..cbec4493
--- /dev/null
+++ b/test/fixers/test_astyle_fixer_callback.vader
@@ -0,0 +1,78 @@
+Before:
+ Save g:ale_c_astyle_executable
+ Save g:ale_c_astyle_project_options
+ Save g:ale_cpp_astyle_project_options
+
+ " Use an invalid global executable, so we don't match it.
+ let g:ale_c_astyle_executable = 'xxxinvalid'
+ let g:ale_cpp_astyle_executable = 'invalidpp'
+ let g:ale_c_astyle_project_options = ''
+ let g:ale_cpp_astyle_project_options = ''
+
+ call ale#test#SetDirectory('/testplugin/test/fixers')
+
+After:
+ Restore
+
+ call ale#test#RestoreDirectory()
+
+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')
+
+ AssertEqual
+ \ {
+ \ 'command': ale#Escape(g:ale_c_astyle_executable)
+ \ . ' --stdin='
+ \ },
+ \ ale#fixers#astyle#Fix(bufnr(''))
+
+Execute(The astyle callback should support cpp files):
+ " Because this file doesn't exist, no astylrc config
+ " exists near it. Therefore, project_options is empty.
+ call ale#test#SetFilename('../cpp_files/dummy.cpp')
+ set filetype=cpp " The test fails without this
+
+ AssertEqual
+ \ {
+ \ 'command': ale#Escape(g:ale_cpp_astyle_executable)
+ \ . ' --stdin='
+ \ },
+ \ 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'
+ set filetype=cpp " The test fails without this
+
+ AssertEqual
+ \ {
+ \ 'command': ale#Escape('invalidpp')
+ \ . ' --project=' . g:ale_cpp_astyle_project_options
+ \ . ' --stdin='
+ \ },
+ \ 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'
+
+ AssertEqual
+ \ {
+ \ 'command': ale#Escape('xxxinvalid')
+ \ . ' --project=' . g:ale_c_astyle_project_options
+ \ . ' --stdin='
+ \ },
+ \ 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')
+
+ AssertEqual
+ \ {
+ \ 'command': ale#Escape('xxxinvalid')
+ \ . ' --project=_astylerc'
+ \ . ' --stdin='
+ \ },
+ \ ale#fixers#astyle#Fix(bufnr(''))