Execute(HandleCSSLintFormat should handle CSS errors): AssertEqual \ [ \ { \ 'lnum': 2, \ 'col': 1, \ 'type': 'E', \ 'text': '(errors) Expected RBRACE at line 2, col 1.', \ }, \ { \ 'lnum': 2, \ 'col': 5, \ 'type': 'W', \ 'text': "(known-properties) Expected ... but found 'wat'.", \ }, \ ], \ ale#handlers#css#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)", \ ]) Execute (HandlePEP8Format should handle the correct lines of output): AssertEqual \ [ \ { \ 'lnum': 6, \ 'col': 6, \ 'type': 'E', \ 'text': 'E111: indentation is not a multiple of four', \ }, \ { \ 'lnum': 35, \ 'col': 0, \ 'type': 'E', \ 'text': "EANSIBLE0002: Trailing whitespace", \ }, \ ], \ ale#handlers#python#HandlePEP8Format(42, [ \ "stdin:6:6: E111 indentation is not a multiple of four", \ "test.yml:35: [EANSIBLE0002] Trailing whitespace", \ ]) Execute (HandlePEP8Format should handle names with spaces): AssertEqual \ [ \ { \ 'lnum': 6, \ 'col': 6, \ 'type': 'E', \ 'text': 'E111: indentation is not a multiple of four', \ }, \ ], \ ale#handlers#python#HandlePEP8Format(42, [ \ 'C:\something\with spaces.py:6:6: E111 indentation is not a multiple of four', \ ]) Execute (HandleGCCFormat should handle the correct lines of output): AssertEqual \ [ \ { \ 'lnum': 8, \ 'col': 5, \ 'type': 'W', \ 'text': 'conversion lacks type at end of format [-Wformat=]', \ }, \ { \ 'lnum': 10, \ 'col': 27, \ 'type': 'E', \ 'text': 'invalid operands to binary - (have ''int'' and ''char *'')', \ }, \ ], \ ale#handlers#gcc#HandleGCCFormat(42, [ \ ':8:5: warning: conversion lacks type at end of format [-Wformat=]', \ ':10:27: error: invalid operands to binary - (have ‘int’ and ‘char *’)', \ ]) Execute (HandleGCCFormat should replace Unicode quotes): AssertEqual \ [ \ { \ 'lnum': 8, \ 'col': 5, \ 'type': 'W', \ 'text': "'''' \"\"", \ }, \ ], \ ale#handlers#gcc#HandleGCCFormat(42, [':8:5: warning: `´‘’ “”']) Execute (HandleUnixFormatAsError should handle some example lines of output): AssertEqual \ [ \ { \ 'lnum': 27, \ 'col': 0, \ 'type': 'E', \ 'text': 'missing argument for Printf("%s"): format reads arg 2, have only 1 args', \ }, \ { \ '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)', \ }, \ { \ 'lnum': 1, \ 'col': 1, \ 'type': 'E', \ 'text': '".b" is not a valid class name. Class names must begin with "-", "_" or a letter and can only contain "_", "-", a-z and 0-9.', \ }, \ ], \ ale#handlers#unix#HandleAsError(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)', \ 'test.pug:1:1 ".b" is not a valid class name. Class names must begin with "-", "_" or a letter and can only contain "_", "-", a-z and 0-9.', \ ]) Execute (HandleUnixFormatAsError should handle lines with no space after the colon): AssertEqual \ [ \ { \ 'lnum': 27, \ 'col': 0, \ 'type': 'E', \ 'text': 'foo', \ }, \ { \ 'lnum': 53, \ 'col': 10, \ 'type': 'E', \ 'text': 'bar', \ }, \ ], \ ale#handlers#unix#HandleAsError(42, [ \ 'some_file.xyz:27:foo', \ 'some_file.xyz:53:10:bar', \ ]) Execute (HandleUnixFormatAsError should handle names with spaces): AssertEqual \ [ \ { \ 'lnum': 13, \ 'col': 90, \ 'type': 'E', \ 'text': 'leonard.exclamation.30ppm More than 30 ppm of exclamations. Keep them under control.', \ }, \ ], \ ale#handlers#unix#HandleAsError(42, [ \ '/Users/rrj/Notes/Astro/Taurus December SM.txt:13:90: leonard.exclamation.30ppm More than 30 ppm of exclamations. Keep them under control.', \ ]) Execute (HandleUnixFormatAsWarning should handle some example lines of output): AssertEqual \ [ \ { \ 'lnum': 27, \ 'col': 0, \ 'type': 'W', \ 'text': 'missing argument for Printf("%s"): format reads arg 2, have only 1 args', \ }, \ { \ '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)', \ }, \ ], \ ale#handlers#unix#HandleAsWarning(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)', \ ]) Execute (Unix format functions should handle Windows paths): AssertEqual \ [ \ { \ 'lnum': 27, \ 'col': 0, \ 'type': 'E', \ 'text': 'foo', \ }, \ { \ 'lnum': 53, \ 'col': 10, \ 'type': 'E', \ 'text': 'foo', \ }, \ ], \ ale#handlers#unix#HandleAsError(42, [ \ 'C:\Users\w0rp\AppData\Local\Temp\Xyz123.go:27: foo', \ 'C:\Users\w0rp\AppData\Local\Temp\Xyz123.go:53:10: foo', \ ]) Execute (HandleCppCheckFormat should handle some example lines of output): AssertEqual \ [ \ { \ 'lnum': 5, \ 'col': 0, \ 'type': 'W', \ 'text': 'Variable a is assigned a value that is never used. (style)', \ }, \ { \ 'lnum': 12, \ 'col': 0, \ 'type': 'E', \ 'text': 'Array a[10] accessed at index 10, which is out of bounds. (error)', \ }, \ ], \ ale#handlers#cppcheck#HandleCppCheckFormat(42, [ \ '[/tmp/test.c:5]: (style) Variable a is assigned a value that is never used.', \ '[/tmp/test.c:12]: (error) Array a[10] accessed at index 10, which is out of bounds.' \ ])