diff options
-rw-r--r-- | test/test_common_handlers.vader | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/test/test_common_handlers.vader b/test/test_common_handlers.vader new file mode 100644 index 00000000..d9fb0060 --- /dev/null +++ b/test/test_common_handlers.vader @@ -0,0 +1,142 @@ +Execute (Run HandleCSSLintFormat): + let g:loclist = ale#handlers#HandleCSSLintFormat(42, [ + \ 'something.css: line 2, col 1, Error - Expected RBRACE at line 2, col 1. (errors)', + \ "something.css: line 2, col 5, Warning - Expected ... but found 'wat'. (known-properties)", + \]) + +Then (The loclist should be correct): + AssertEqual g:loclist, [ + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 2, + \ 'col': 1, + \ 'type': 'E', + \ 'text': '(errors) Expected RBRACE at line 2, col 1.', + \ }, + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 2, + \ 'col': 5, + \ 'type': 'W', + \ 'text': "(known-properties) Expected ... but found 'wat'.", + \ }, + \] + +Execute (Run HandleGCCFormat): + let g:loclist = ale#handlers#HandleGCCFormat(42, [ + \ '<stdin>:8:5: warning: conversion lacks type at end of format [-Wformat=]', + \ '<stdin>:10:27: error: invalid operands to binary - (have ‘int’ and ‘char *’)', + \]) + +Then (The loclist should be correct): + AssertEqual g:loclist, [ + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 8, + \ 'col': 5, + \ 'type': 'W', + \ 'text': 'conversion lacks type at end of format [-Wformat=]', + \ }, + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 10, + \ 'col': 27, + \ 'type': 'E', + \ 'text': 'invalid operands to binary - (have ‘int’ and ‘char *’)', + \ }, + \] + +Execute (Run HandleUnixFormatAsError): + let g:loclist = ale#handlers#HandleUnixFormatAsError(42, [ + \ 'file.go:27: missing argument for Printf("%s"): format reads arg 2, have only 1 args', + \ 'file.go:53:10: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary)', + \]) + +Then (The loclist should be correct): + AssertEqual g:loclist, [ + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 27, + \ 'col': 0, + \ 'type': 'E', + \ 'text': 'missing argument for Printf("%s"): format reads arg 2, have only 1 args', + \ }, + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 53, + \ 'col': 10, + \ 'type': 'E', + \ 'text': 'if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary)', + \ }, + \] + +Execute (Run HandleUnixFormatAsWarning): + let g:loclist = ale#handlers#HandleUnixFormatAsWarning(42, [ + \ 'file.go:27: missing argument for Printf("%s"): format reads arg 2, have only 1 args', + \ 'file.go:53:10: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary)', + \]) + +Then (The loclist should be correct): + AssertEqual g:loclist, [ + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 27, + \ 'col': 0, + \ 'type': 'W', + \ 'text': 'missing argument for Printf("%s"): format reads arg 2, have only 1 args', + \ }, + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 53, + \ 'col': 10, + \ 'type': 'W', + \ 'text': 'if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary)', + \ }, + \] + +Execute (Run a Unix format function with a Windows path): + let g:loclist = ale#handlers#HandleUnixFormatAsError(42, [ + \ 'C:\Users\w0rp\AppData\Local\Temp\Xyz123.go:27: foo', + \ 'C:\Users\w0rp\AppData\Local\Temp\Xyz123.go:53:10: foo', + \]) + +Then (The loclist should be correct): + AssertEqual g:loclist, [ + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 27, + \ 'col': 0, + \ 'type': 'E', + \ 'text': 'foo', + \ }, + \ { + \ 'bufnr': 42, + \ 'vcol': 0, + \ 'nr': -1, + \ 'lnum': 53, + \ 'col': 10, + \ 'type': 'E', + \ 'text': 'foo', + \ }, + \] + +After: + unlet g:loclist |