summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2018-01-12 12:04:26 +0000
committerGitHub <noreply@github.com>2018-01-12 12:04:26 +0000
commit65fa901ef0c15a2cd8c17642b0c5f0108ed93585 (patch)
treef6bd57d50f7fa6588693d1a66c0f7bf404e05250 /test
parentba1540a5452fe4523ed91b99f1469f4e86112a6b (diff)
parent2ef45ab7457566a10354b7833cbdf5137118cebf (diff)
downloadale-65fa901ef0c15a2cd8c17642b0c5f0108ed93585.zip
Merge pull request #1275 from ipetkov/cargo-features
Teach ALE about cargo features and add some configuration options
Diffstat (limited to 'test')
-rw-r--r--test/command_callback/test_cargo_command_callbacks.vader48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/command_callback/test_cargo_command_callbacks.vader b/test/command_callback/test_cargo_command_callbacks.vader
index 65ea5a80..9c06f27d 100644
--- a/test/command_callback/test_cargo_command_callbacks.vader
+++ b/test/command_callback/test_cargo_command_callbacks.vader
@@ -1,9 +1,13 @@
Before:
Save g:ale_rust_cargo_use_check
Save g:ale_rust_cargo_check_all_targets
+ Save g:ale_rust_cargo_default_feature_behavior
+ Save g:ale_rust_cargo_include_features
unlet! g:ale_rust_cargo_use_check
unlet! g:ale_cargo_check_all_targets
+ unlet! g:ale_rust_cargo_default_feature_behavior
+ unlet! g:ale_rust_cargo_include_features
runtime ale_linters/rust/cargo.vim
call ale#test#SetDirectory('/testplugin/test/command_callback')
@@ -114,3 +118,47 @@ Execute(--all-targets should be used when g:ale_rust_cargo_check_all_targets is
\ ale_linters#rust#cargo#GetCommand(bufnr(''), [])
AssertEqual '', ale_linters#rust#cargo#VersionCheck(bufnr(''))
+
+Execute(--no-default-features should be used when g:ale_rust_cargo_default_feature_behavior is none):
+ let g:ale_rust_cargo_default_feature_behavior = 'none'
+
+ AssertEqual
+ \ 'cargo check' . g:suffix . ' --no-default-features',
+ \ ale_linters#rust#cargo#GetCommand(bufnr(''), [
+ \ 'cargo 0.22.0 (3423351a5 2017-10-06)',
+ \ ])
+
+Execute(g:ale_rust_cargo_include_features added when g:ale_rust_cargo_default_feature_behavior is none):
+ let g:ale_rust_cargo_default_feature_behavior = 'none'
+ let g:ale_rust_cargo_include_features = 'foo bar'
+
+ AssertEqual
+ \ 'cargo check' . g:suffix . ' --no-default-features --features ' .
+ \ (fnamemodify(&shell, ':t') is? 'cmd.exe' ? '"foo bar"' : "'foo bar'"),
+ \ ale_linters#rust#cargo#GetCommand(bufnr(''), [
+ \ 'cargo 0.22.0 (3423351a5 2017-10-06)',
+ \ ])
+
+Execute(g:ale_rust_cargo_include_features added and escaped):
+ let g:ale_rust_cargo_default_feature_behavior = 'default'
+ let g:ale_rust_cargo_include_features = "foo bar baz"
+
+ AssertEqual
+ \ 'cargo check' . g:suffix . ' --features ' .
+ \ (fnamemodify(&shell, ':t') is? 'cmd.exe' ? '"foo bar baz"' : "'foo bar baz'"),
+ \ ale_linters#rust#cargo#GetCommand(bufnr(''), [
+ \ 'cargo 0.22.0 (3423351a5 2017-10-06)',
+ \ ])
+
+Execute(--all-features should be used when g:ale_rust_cargo_default_feature_behavior is all):
+ let g:ale_rust_cargo_default_feature_behavior = 'all'
+
+ " When all features are enabled we should ignore extra features to add
+ " since it won't do anything
+ let g:ale_rust_cargo_include_features = 'foo bar'
+
+ AssertEqual
+ \ 'cargo check' . g:suffix . ' --all-features',
+ \ ale_linters#rust#cargo#GetCommand(bufnr(''), [
+ \ 'cargo 0.22.0 (3423351a5 2017-10-06)',
+ \ ])