2017-06-18 17:46:34 +00:00
|
|
|
Before:
|
|
|
|
runtime ale_linters/typescript/tslint.vim
|
|
|
|
|
2017-07-09 21:43:25 +00:00
|
|
|
call ale#test#SetDirectory('/testplugin/test/handler')
|
2017-06-25 12:56:51 +00:00
|
|
|
|
|
|
|
After:
|
2017-07-09 21:43:25 +00:00
|
|
|
call ale#test#RestoreDirectory()
|
2017-06-25 12:56:51 +00:00
|
|
|
call ale#linter#Reset()
|
|
|
|
|
2017-06-18 17:46:34 +00:00
|
|
|
Execute(The tslint handler should parse lines correctly):
|
2017-06-25 12:56:51 +00:00
|
|
|
call ale#test#SetFilename('app/test.ts')
|
|
|
|
|
2017-06-18 17:46:34 +00:00
|
|
|
AssertEqual
|
|
|
|
\ [
|
|
|
|
\ {
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'lnum': 1,
|
|
|
|
\ 'col': 15,
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'filename': expand('%:p:h') . '/test.ts',
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'end_lnum': 1,
|
2017-06-18 17:46:34 +00:00
|
|
|
\ 'type': 'E',
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'end_col': 15,
|
|
|
|
\ 'text': 'semicolon: Missing semicolon'
|
2017-06-18 17:46:34 +00:00
|
|
|
\ },
|
|
|
|
\ {
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'lnum': 2,
|
2017-06-25 15:40:44 +00:00
|
|
|
\ 'col': 8,
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'filename': expand('%:p:h') . '/test.ts',
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'end_lnum': 3,
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'type': 'W',
|
2017-06-25 15:40:44 +00:00
|
|
|
\ 'end_col': 12,
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'text': 'Something else'
|
|
|
|
\ },
|
|
|
|
\ {
|
|
|
|
\ 'lnum': 2,
|
|
|
|
\ 'col': 8,
|
|
|
|
\ 'filename': expand('%:p:h') . '/something-else.ts',
|
|
|
|
\ 'end_lnum': 3,
|
2017-06-18 17:46:34 +00:00
|
|
|
\ 'type': 'W',
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'end_col': 12,
|
|
|
|
\ 'text': 'something: Something else'
|
2017-06-18 17:46:34 +00:00
|
|
|
\ },
|
2017-06-25 15:40:44 +00:00
|
|
|
\ {
|
|
|
|
\ 'lnum': 31,
|
|
|
|
\ 'col': 9,
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'filename': expand('%:p:h') . '/test.ts',
|
2017-06-25 15:40:44 +00:00
|
|
|
\ 'end_lnum': 31,
|
|
|
|
\ 'type': 'E',
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'end_col': 20,
|
|
|
|
\ 'text': 'no-console: Calls to console.log are not allowed.'
|
2017-06-25 15:40:44 +00:00
|
|
|
\ },
|
2017-08-19 23:05:15 +00:00
|
|
|
\ ] ,
|
2017-06-25 12:56:51 +00:00
|
|
|
\ ale_linters#typescript#tslint#Handle(bufnr(''), [json_encode([
|
2017-06-18 17:46:34 +00:00
|
|
|
\ {
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'endPosition': {
|
|
|
|
\ 'character': 14,
|
|
|
|
\ 'line': 0,
|
2017-06-25 15:40:44 +00:00
|
|
|
\ 'position': 1000
|
2017-06-25 12:56:51 +00:00
|
|
|
\ },
|
|
|
|
\ 'failure': 'Missing semicolon',
|
|
|
|
\ 'fix': {
|
|
|
|
\ 'innerLength': 0,
|
|
|
|
\ 'innerStart': 14,
|
|
|
|
\ 'innerText': ';'
|
|
|
|
\ },
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'name': 'test.ts',
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'ruleName': 'semicolon',
|
|
|
|
\ 'ruleSeverity': 'ERROR',
|
|
|
|
\ 'startPosition': {
|
|
|
|
\ 'character': 14,
|
|
|
|
\ 'line': 0,
|
2017-06-25 15:40:44 +00:00
|
|
|
\ 'position': 1000
|
2017-06-25 12:56:51 +00:00
|
|
|
\ }
|
2017-06-18 17:46:34 +00:00
|
|
|
\ },
|
2017-06-25 12:56:51 +00:00
|
|
|
\ {
|
|
|
|
\ 'endPosition': {
|
|
|
|
\ 'character': 11,
|
|
|
|
\ 'line': 2,
|
2017-06-25 15:40:44 +00:00
|
|
|
\ 'position': 1000
|
2017-06-25 12:56:51 +00:00
|
|
|
\ },
|
|
|
|
\ 'failure': 'Something else',
|
|
|
|
\ 'fix': {
|
|
|
|
\ 'innerLength': 0,
|
|
|
|
\ 'innerStart': 14,
|
|
|
|
\ 'innerText': ';'
|
|
|
|
\ },
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'name': 'test.ts',
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'ruleSeverity': 'WARNING',
|
|
|
|
\ 'startPosition': {
|
|
|
|
\ 'character': 7,
|
|
|
|
\ 'line': 1,
|
2017-06-25 15:40:44 +00:00
|
|
|
\ 'position': 1000
|
2017-06-25 12:56:51 +00:00
|
|
|
\ }
|
|
|
|
\ },
|
|
|
|
\ {
|
|
|
|
\ 'endPosition': {
|
|
|
|
\ 'character': 11,
|
|
|
|
\ 'line': 2,
|
|
|
|
\ 'position': 22
|
|
|
|
\ },
|
|
|
|
\ 'failure': 'Something else',
|
|
|
|
\ 'fix': {
|
|
|
|
\ 'innerLength': 0,
|
|
|
|
\ 'innerStart': 14,
|
|
|
|
\ 'innerText': ';'
|
|
|
|
\ },
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'name': 'something-else.ts',
|
2017-06-25 12:56:51 +00:00
|
|
|
\ 'ruleName': 'something',
|
|
|
|
\ 'ruleSeverity': 'WARNING',
|
|
|
|
\ 'startPosition': {
|
|
|
|
\ 'character': 7,
|
|
|
|
\ 'line': 1,
|
|
|
|
\ 'position': 14
|
|
|
|
\ }
|
|
|
|
\ },
|
2017-06-25 15:40:44 +00:00
|
|
|
\ {
|
|
|
|
\ "endPosition": {
|
|
|
|
\ "character": 19,
|
|
|
|
\ "line": 30,
|
|
|
|
\ "position": 14590
|
|
|
|
\ },
|
|
|
|
\ "failure": "Calls to console.log are not allowed.",
|
2017-08-19 23:05:15 +00:00
|
|
|
\ 'name': 'test.ts',
|
2017-06-25 15:40:44 +00:00
|
|
|
\ "ruleName": "no-console",
|
|
|
|
\ "startPosition": {
|
|
|
|
\ "character": 8,
|
|
|
|
\ "line": 30,
|
|
|
|
\ "position": 14579
|
|
|
|
\ }
|
|
|
|
\ },
|
2017-06-25 12:56:51 +00:00
|
|
|
\])])
|
2017-07-19 09:26:03 +00:00
|
|
|
|
|
|
|
Execute(The tslint handler should handle empty output):
|
|
|
|
AssertEqual
|
|
|
|
\ [],
|
|
|
|
\ ale_linters#typescript#tslint#Handle(bufnr(''), [])
|