summaryrefslogtreecommitdiff
path: root/test/linter
diff options
context:
space:
mode:
authorArnold Chand <creativenull@outlook.com>2021-10-01 20:51:22 -0400
committerGitHub <noreply@github.com>2021-10-02 09:51:22 +0900
commit19b0f72c237b861d46cefbc30a745da401e10c65 (patch)
treed68dc6cf815ebb77b36fa959e2c755acd6bf6b21 /test/linter
parent708e810414d124b17b0c42e872b387a7a6c2ea85 (diff)
downloadale-19b0f72c237b861d46cefbc30a745da401e10c65.zip
feat: add deno lsp for javascript (#3924)
* feat(js/deno): add deno lsp * fix(doc/typescript): typo * feat(doc/javascript): add deno lsp information * feat(doc/supported-tools): add deno to js list, sorted * fix(doc/javascript): update ToC and supported tools w/ deno
Diffstat (limited to 'test/linter')
-rw-r--r--test/linter/test_javascript_deno_lsp.vader79
1 files changed, 79 insertions, 0 deletions
diff --git a/test/linter/test_javascript_deno_lsp.vader b/test/linter/test_javascript_deno_lsp.vader
new file mode 100644
index 00000000..965ce600
--- /dev/null
+++ b/test/linter/test_javascript_deno_lsp.vader
@@ -0,0 +1,79 @@
+Before:
+ let g:ale_deno_importMap = 'import_map.json'
+ let g:ale_deno_unstable = 0
+ let g:ale_deno_executable = 'deno'
+ let g:ale_deno_lsp_project_root = ''
+
+ runtime autoload/ale/handlers/deno.vim
+ call ale#assert#SetUpLinterTest('javascript', 'deno')
+
+After:
+ call ale#assert#TearDownLinterTest()
+
+Execute(Should set deno lsp for JavaScript projects using stable Deno API):
+ AssertLSPOptions {
+ \ 'enable': v:true,
+ \ 'lint': v:true,
+ \ 'unstable': v:false,
+ \ 'importMap': ''
+ \}
+
+Execute(Should set deno lsp using unstable Deno API if enabled by user):
+ let g:ale_deno_unstable = 1
+
+ AssertLSPOptions {
+ \ 'enable': v:true,
+ \ 'lint': v:true,
+ \ 'unstable': v:true,
+ \ 'importMap': ''
+ \}
+
+Execute(Should set the default importMap filepath):
+ call ale#test#SetFilename('../test-files/javascript_deno/main.js')
+
+ AssertLSPOptions {
+ \ 'enable': v:true,
+ \ 'lint': v:true,
+ \ 'unstable': v:false,
+ \ 'importMap': ale#path#Simplify(g:dir . '/../test-files/javascript_deno/import_map.json')
+ \}
+
+Execute(Should set the importMap filepath from user defined importMap):
+ let g:ale_deno_importMap = 'custom_import_map.json'
+ call ale#test#SetFilename('../test-files/javascript_deno/main.js')
+
+ AssertLSPOptions {
+ \ 'enable': v:true,
+ \ 'lint': v:true,
+ \ 'unstable': v:false,
+ \ 'importMap': ale#path#Simplify(g:dir . '/../test-files/javascript_deno/custom_import_map.json')
+ \}
+
+Execute(Should set the importMap filepath from user defined importMap with unstable API):
+ let g:ale_deno_importMap = 'custom_import_map.json'
+ let g:ale_deno_unstable = 1
+ call ale#test#SetFilename('../test-files/javascript_deno/main.js')
+
+ AssertLSPOptions {
+ \ 'enable': v:true,
+ \ 'lint': v:true,
+ \ 'unstable': v:true,
+ \ 'importMap': ale#path#Simplify(g:dir . '/../test-files/javascript_deno/custom_import_map.json')
+ \}
+
+Execute(Should find project root containing tsconfig.json):
+ call ale#test#SetFilename('../test-files/javascript_deno/main.js')
+
+ AssertLSPLanguage 'javascript'
+ AssertLSPProject ale#path#Simplify(g:dir . '/../test-files/javascript_deno')
+
+Execute(Should use user-specified project root):
+ let g:ale_deno_lsp_project_root = '/'
+
+ call ale#test#SetFilename('../test-files/javascript_deno/main.js')
+
+ AssertLSPLanguage 'javascript'
+ AssertLSPProject '/'
+
+Execute(Check Deno LSP command):
+ AssertLinter 'deno', ale#Escape('deno') . ' lsp'