diff options
Diffstat (limited to 'test/command_callback/test_rustc_command_callback.vader')
-rw-r--r-- | test/command_callback/test_rustc_command_callback.vader | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/command_callback/test_rustc_command_callback.vader b/test/command_callback/test_rustc_command_callback.vader new file mode 100644 index 00000000..fe46c9ad --- /dev/null +++ b/test/command_callback/test_rustc_command_callback.vader @@ -0,0 +1,37 @@ +Before: + Save g:ale_rust_rustc_options + + unlet! g:ale_rust_rustc_options + + runtime ale_linters/rust/rustc.vim + call ale#test#SetDirectory('/testplugin/test/command_callback') + +After: + Restore + + unlet! b:ale_rust_rustc_options + + call ale#test#RestoreDirectory() + call ale#linter#Reset() + +Execute(The default command should be correct): + AssertEqual + \ 'rustc --error-format=json -Z no-trans -', + \ ale_linters#rust#rustc#RustcCommand(bufnr('')) + +Execute(The options should be configurable): + let b:ale_rust_rustc_options = '--foo' + + AssertEqual + \ 'rustc --error-format=json --foo -', + \ ale_linters#rust#rustc#RustcCommand(bufnr('')) + +Execute(Some default paths should be included when the project is a Cargo project): + call ale#test#SetFilename('cargo_paths/test.rs') + + AssertEqual + \ 'rustc --error-format=json -Z no-trans' + \ . ' -L ' . ale#Escape(ale#path#GetAbsPath(g:dir, 'cargo_paths/target/debug/deps')) + \ . ' -L ' . ale#Escape(ale#path#GetAbsPath(g:dir, 'cargo_paths/target/release/deps')) + \ . ' -', + \ ale_linters#rust#rustc#RustcCommand(bufnr('')) |