summaryrefslogtreecommitdiff
path: root/test/command_callback
diff options
context:
space:
mode:
Diffstat (limited to 'test/command_callback')
-rwxr-xr-xtest/command_callback/php-langserver-project/vendor/bin/php-language-server.php0
-rw-r--r--test/command_callback/rust-rls-project/Cargo.toml0
-rw-r--r--test/command_callback/test_php_langserver_callbacks.vader52
-rw-r--r--test/command_callback/test_rust_rls_callbacks.vader32
4 files changed, 84 insertions, 0 deletions
diff --git a/test/command_callback/php-langserver-project/vendor/bin/php-language-server.php b/test/command_callback/php-langserver-project/vendor/bin/php-language-server.php
new file mode 100755
index 00000000..e69de29b
--- /dev/null
+++ b/test/command_callback/php-langserver-project/vendor/bin/php-language-server.php
diff --git a/test/command_callback/rust-rls-project/Cargo.toml b/test/command_callback/rust-rls-project/Cargo.toml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/test/command_callback/rust-rls-project/Cargo.toml
diff --git a/test/command_callback/test_php_langserver_callbacks.vader b/test/command_callback/test_php_langserver_callbacks.vader
new file mode 100644
index 00000000..38630f4b
--- /dev/null
+++ b/test/command_callback/test_php_langserver_callbacks.vader
@@ -0,0 +1,52 @@
+Before:
+ Save g:ale_php_langserver_executable
+ Save g:ale_php_langserver_config_path
+ Save g:ale_php_langserver_use_global
+
+ unlet! g:ale_php_langserver_executable
+ unlet! g:ale_php_langserver_config_path
+ unlet! g:ale_php_langserver_use_global
+
+ runtime ale_linters/php/langserver.vim
+
+ call ale#test#SetDirectory('/testplugin/test/command_callback')
+
+After:
+ Restore
+
+ if isdirectory(g:dir . '/.git')
+ call delete(g:dir . '/.git', 'd')
+ endif
+
+ call ale#test#RestoreDirectory()
+ call ale#linter#Reset()
+
+Execute(The default executable path should be correct):
+ AssertEqual
+ \ 'php-language-server.php',
+ \ ale_linters#php#langserver#GetExecutable(bufnr(''))
+ AssertEqual
+ \ 'php ' . ale#Escape('php-language-server.php'),
+ \ ale_linters#php#langserver#GetCommand(bufnr(''))
+
+Execute(Vendor executables should be detected):
+ call ale#test#SetFilename('php-langserver-project/test.php')
+
+ AssertEqual
+ \ g:dir . '/php-langserver-project/vendor/bin/php-language-server.php',
+ \ ale_linters#php#langserver#GetExecutable(bufnr(''))
+ AssertEqual
+ \ 'php ' . ale#Escape(
+ \ g:dir
+ \ . '/php-langserver-project/vendor/bin/php-language-server.php'
+ \ ),
+ \ ale_linters#php#langserver#GetCommand(bufnr(''))
+
+Execute(The language string should be correct):
+ AssertEqual 'php', ale_linters#php#langserver#GetLanguage(bufnr(''))
+
+Execute(The project path should be correct for .git directories):
+ call ale#test#SetFilename('php-langserver-project/test.php')
+ call mkdir(g:dir . '/.git')
+
+ AssertEqual g:dir, ale_linters#php#langserver#GetProjectRoot(bufnr(''))
diff --git a/test/command_callback/test_rust_rls_callbacks.vader b/test/command_callback/test_rust_rls_callbacks.vader
new file mode 100644
index 00000000..76e69927
--- /dev/null
+++ b/test/command_callback/test_rust_rls_callbacks.vader
@@ -0,0 +1,32 @@
+Before:
+ Save g:ale_rust_rls_executable
+
+ unlet! g:ale_rust_rls_executable
+
+ runtime ale_linters/rust/rls.vim
+
+ call ale#test#SetDirectory('/testplugin/test/command_callback')
+
+After:
+ Restore
+
+ call ale#test#RestoreDirectory()
+ call ale#linter#Reset()
+
+Execute(The default executable path should be correct):
+ AssertEqual 'rls', ale_linters#rust#rls#GetExecutable(bufnr(''))
+ AssertEqual
+ \ ale#Escape('rls') . ' +nightly',
+ \ ale_linters#rust#rls#GetCommand(bufnr(''))
+
+Execute(The language string should be correct):
+ AssertEqual 'rust', ale_linters#rust#rls#GetLanguage(bufnr(''))
+
+Execute(The project root should be detected correctly):
+ AssertEqual '', ale_linters#rust#rls#GetProjectRoot(bufnr(''))
+
+ call ale#test#SetFilename('rust-rls-project/test.rs')
+
+ AssertEqual
+ \ g:dir . '/rust-rls-project',
+ \ ale_linters#rust#rls#GetProjectRoot(bufnr(''))