summaryrefslogtreecommitdiff
path: root/test/handler
diff options
context:
space:
mode:
authorfiatjaf <fiatjaf@alhur.es>2021-03-26 03:38:57 -0300
committerGitHub <noreply@github.com>2021-03-26 15:38:57 +0900
commit655f0070cd2ce575f81092d1faac739fd116b515 (patch)
treea4356862b0137006eaed26706bacdd3026fcea22 /test/handler
parentb1f95dc4fb15efb1d5238845c99548f2906e2ba3 (diff)
downloadale-655f0070cd2ce575f81092d1faac739fd116b515.zip
Add support for V: "v" (compiler) and "vfmt" fixer. (#3622)
* v: add "v fmt" fixer. * v: add "v" (build) linter. * v: fix vlint complaints and add documentation. * v: add tests. * v: use ale#Pad().
Diffstat (limited to 'test/handler')
-rw-r--r--test/handler/test_v_handler.vader54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/handler/test_v_handler.vader b/test/handler/test_v_handler.vader
new file mode 100644
index 00000000..4d6e3d9b
--- /dev/null
+++ b/test/handler/test_v_handler.vader
@@ -0,0 +1,54 @@
+Before:
+ runtime ale_linters/v/v.vim
+
+After:
+ call ale#linter#Reset()
+
+Execute (The v handler should correctly parse error messages):
+ AssertEqual
+ \ [{
+ \ 'lnum': 4,
+ \ 'col': 3,
+ \ 'filename': ale#path#GetAbsPath(expand('%:p:h'), 'const ants.v'),
+ \ 'type': 'W',
+ \ 'end_col': 14,
+ \ 'text': 'const names cannot contain uppercase letters, use snake_case instead'
+ \ },
+ \ {
+ \ 'lnum': 4,
+ \ 'col': 8,
+ \ 'filename': ale#path#GetAbsPath(expand('%:p:h'), 'main.v'),
+ \ 'type': 'W',
+ \ 'end_col': 10,
+ \ 'text': 'module "os" is imported but never used'
+ \ },
+ \ {
+ \ 'lnum': 20,
+ \ 'col': 10,
+ \ 'filename': ale#path#GetAbsPath(expand('%:p:h'), 'main.v'),
+ \ 'type': 'E',
+ \ 'end_col': 18,
+ \ 'text': 'undefined ident: `win_widt`'
+ \ }],
+ \ ale_linters#v#v#Handler('', [
+ \ './const ants.v:4:3: warning: const names cannot contain uppercase letters, use snake_case instead',
+ \ ' 2 |',
+ \ ' 3 | const (',
+ \ ' 4 | BUTTON_TEXT = "OK"',
+ \ ' | ~~~~~~~~~~~',
+ \ ' 5 | )',
+ \ './main.v:4:8: warning: module "os" is imported but never used',
+ \ ' 2 |',
+ \ ' 3 | import ui',
+ \ ' 4 | import os',
+ \ ' | ~~',
+ \ ' 5 |',
+ \ ' 6 | const (',
+ \ './main.v:20:10: error: undefined ident: `win_widt`',
+ \ ' 18 | mut app := &App{}',
+ \ ' 19 | app.window = ui.window({',
+ \ ' 20 | width: win_widt',
+ \ ' | ~~~~~~~~',
+ \ ' 21 | height: win_height',
+ \ ' 22 | title: "Counter"',
+ \ ])