ale/test/handler/test_v_handler.vader
fiatjaf 655f0070cd
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().
2021-03-26 15:38:57 +09:00

55 lines
1.6 KiB
Plaintext

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"',
\ ])