Add a function for getting matches, and use it to simplify a lot of code

This commit is contained in:
w0rp
2017-04-18 00:35:53 +01:00
parent e237add9fd
commit bdad25eefd
53 changed files with 224 additions and 411 deletions

148
test/test_getmatches.vader Normal file
View File

@@ -0,0 +1,148 @@
Execute (ale#util#GetMatches should return matches for many lines):
AssertEqual
\ [
\ [
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ '47',
\ '14',
\ 'Missing trailing comma.',
\ 'Warning/comma-dangle',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ [
\ '/path/to/some-filename.js:56:41: Missing semicolon. [Error/semi]',
\ '56',
\ '41',
\ 'Missing semicolon.',
\ 'Error/semi',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ ],
\ ale#util#GetMatches(
\ [
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ '/path/to/some-filename.js:56:41: Missing semicolon. [Error/semi]',
\ ],
\ [
\ '^.*:\(\d\+\):\(\d\+\): \(.\+\) \[\(.\+\)\]$',
\ ]
\ )
Execute (ale#util#GetMatches should accept a string for a single pattern):
AssertEqual
\ [
\ [
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ '47',
\ '14',
\ 'Missing trailing comma.',
\ 'Warning/comma-dangle',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ [
\ '/path/to/some-filename.js:56:41: Missing semicolon. [Error/semi]',
\ '56',
\ '41',
\ 'Missing semicolon.',
\ 'Error/semi',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ ],
\ ale#util#GetMatches(
\ [
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ '/path/to/some-filename.js:56:41: Missing semicolon. [Error/semi]',
\ ],
\ '^.*:\(\d\+\):\(\d\+\): \(.\+\) \[\(.\+\)\]$'
\ )
Execute (ale#util#GetMatches should accept a single line as a string):
AssertEqual
\ [
\ [
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ '47',
\ '14',
\ 'Missing trailing comma.',
\ 'Warning/comma-dangle',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ ],
\ ale#util#GetMatches(
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ [
\ '^.*:\(\d\+\):\(\d\+\): \(.\+\) \[\(.\+\)\]$',
\ ]
\ )
Execute (ale#util#GetMatches should match multiple patterns correctly):
AssertEqual
\ [
\ [
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ '47',
\ '14',
\ 'Missing trailing comma.',
\ 'Warning/comma-dangle',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ [
\ '/path/to/some-filename.js:56:41: Missing semicolon. [Error/semi]',
\ '56',
\ '41',
\ 'Missing semicolon.',
\ 'Error/semi',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ [
\ '/path/to/some-filename.js:13:3: Parsing error: Unexpected token',
\ '13',
\ '3',
\ 'Parsing error: Unexpected token',
\ '',
\ '',
\ '',
\ '',
\ '',
\ '',
\ ],
\ ],
\ ale#util#GetMatches(
\ [
\ '/path/to/some-filename.js:47:14: Missing trailing comma. [Warning/comma-dangle]',
\ '/path/to/some-filename.js:56:41: Missing semicolon. [Error/semi]',
\ '/path/to/some-filename.js:13:3: Parsing error: Unexpected token',
\ ],
\ [
\ '^.*:\(\d\+\):\(\d\+\): \(.\+\) \[\(.\+\)\]$',
\ '^.*:\(\d\+\):\(\d\+\): \(.\+\)$',
\ ]
\ )