ale/test/handler/test_nim_handler.vader

81 lines
2.2 KiB
Plaintext

Before:
runtime ale_linters/nim/nimcheck.vim
After:
call ale#linter#Reset()
Execute(Parsing nim errors should work):
silent file foobar.nim
AssertEqual
\ [
\ {
\ 'lnum': 8,
\ 'col': 8,
\ 'text': 'use {.base.} for base methods; baseless methods are deprecated',
\ 'code': 'UseBase',
\ 'type': 'W',
\ },
\ {
\ 'lnum': 12,
\ 'col': 2,
\ 'text': 'identifier expected, but found ''a.barfoo''',
\ 'type': 'E',
\ 'end_col': 9,
\ },
\ {
\ 'lnum': 2,
\ 'col': 5,
\ 'text': '''NotUsed'' is declared but not used',
\ 'code': 'XDeclaredButNotUsed',
\ 'type': 'W',
\ 'end_col': 11,
\ },
\ {
\ 'lnum': 12,
\ 'col': 2,
\ 'text': 'with : character',
\ 'type': 'E',
\ },
\ {
\ 'lnum': 1,
\ 'col': 8,
\ 'text': 'imported and not used: ''strutils''',
\ 'code': 'UnusedImport',
\ 'type': 'W',
\ 'end_col': 15,
\ },
\ {
\ 'lnum': 12,
\ 'col': 9,
\ 'text': 'undeclared identifier: ''total''',
\ 'type': 'E',
\ 'end_col': 13,
\ },
\ {
\ 'lnum': 14,
\ 'col': 1,
\ 'text': '''sum'' cannot be assigned to',
\ 'type': 'E',
\ 'end_col': 3,
\ },
\ {
\ 'lnum': 15,
\ 'col': 1,
\ 'text': 'redefinition of ''getName''; previous declaration here: /nested/folder/foobar.nim(14, 6)',
\ 'type': 'E',
\ 'end_col': 7,
\ },
\ ],
\ ale_linters#nim#nimcheck#Handle(bufnr(''), [
\ 'Line with wrong( format)',
\ 'foobar.nim(8, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]',
\ 'foobar.nim(12, 2) Error: identifier expected, but found ''a.barfoo''',
\ '/nested/folder/foobar.nim(2, 5) Hint: ''NotUsed'' is declared but not used [XDeclaredButNotUsed]',
\ 'foobar.nim(12, 2) Error: with : character',
\ 'foobar.nim(1, 8) Warning: imported and not used: ''strutils'' [UnusedImport]',
\ 'foobar.nim(12, 9) Error: undeclared identifier: ''total''',
\ 'foobar.nim(14, 1) Error: ''sum'' cannot be assigned to',
\ 'foobar.nim(15, 1) Error: redefinition of ''getName''; previous declaration here: /nested/folder/foobar.nim(14, 6)',
\ ])