9ad8fd6a1b
* Newline in unexpected token broke parser * fixed test to properly capture regressions * removed deprecated linter options for powershell
109 lines
3.6 KiB
Text
Executable file
109 lines
3.6 KiB
Text
Executable file
Before:
|
|
runtime ale_linters/powershell/powershell.vim
|
|
|
|
After:
|
|
call ale#linter#Reset()
|
|
|
|
Execute(The powershell handler should process syntax errors from parsing a powershell script):
|
|
AssertEqual
|
|
\ [
|
|
\ {
|
|
\ 'lnum': 8,
|
|
\ 'col': 29,
|
|
\ 'type': 'E',
|
|
\ 'text': 'Missing closing ''}'' in statement block or type definition.',
|
|
\ 'code': 'ParseException',
|
|
\ },
|
|
\ ],
|
|
\ ale_linters#powershell#powershell#Handle(bufnr(''), [
|
|
\ "At line:8 char:29",
|
|
\ "+ Invoke-Command -ScriptBlock {",
|
|
\ "+ ~",
|
|
\ "Missing closing '}' in statement block or type definition.",
|
|
\ "At /home/harrisj/tester.ps1:5 char:5",
|
|
\ "+ [void]$ExecutionContext.InvokeCommand.NewScriptBlock($Contents);",
|
|
\ "+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
|
|
\ "+ CategoryInfo : NotSpecified: (:) [], ParseException",
|
|
\ "+ FullyQualifiedErrorId : ParseException"
|
|
\ ])
|
|
|
|
Execute(The powershell handler should process multiple syntax errors from parsing a powershell script):
|
|
AssertEqual
|
|
\ [
|
|
\ {
|
|
\ 'lnum': 11,
|
|
\ 'col': 31,
|
|
\ 'type': 'E',
|
|
\ 'text': 'The string is missing the terminator: ".',
|
|
\ 'code': 'ParseException'
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 3,
|
|
\ 'col': 16,
|
|
\ 'type': 'E',
|
|
\ 'text': 'Missing closing ''}'' in statement block or type definition.',
|
|
\ 'code': 'ParseException'
|
|
\ },
|
|
\ ],
|
|
\ ale_linters#powershell#powershell#Handle(bufnr(''), [
|
|
\ 'At line:11 char:31',
|
|
\ '+ write-verbose ''deleted''',
|
|
\ '+ ~',
|
|
\ 'The string is missing the terminator: ".',
|
|
\ 'At line:3 char:16',
|
|
\ '+ invoke-command {',
|
|
\ '+ ~',
|
|
\ 'Missing closing ''}'' in statement block or type definition.',
|
|
\ 'At /var/folders/qv/15ybvt050v9cgwrm7c95x4r4zc4qsg/T/vwhzIc8/1/script.ps1:1 char:150',
|
|
\ '+ ... ontents); [void]$ExecutionContext.InvokeCommand.NewScriptBlock($Con ...',
|
|
\ '+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~',
|
|
\ '+ CategoryInfo : NotSpecified: (:) [], ParseException',
|
|
\ '+ FullyQualifiedErrorId : ParseException'
|
|
\ ])
|
|
Execute(The powershell handler should process unexecpected token that contains a newline character):
|
|
AssertEqual
|
|
\ [
|
|
\ {
|
|
\ 'lnum': 2,
|
|
\ 'col': 8,
|
|
\ 'type': 'E',
|
|
\ 'text': 'The string is missing the terminator: ".',
|
|
\ 'code': 'ParseException'
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 2,
|
|
\ 'col': 8,
|
|
\ 'type': 'E',
|
|
\ 'text': 'Unexpected token ''"',
|
|
\ 'code': 'ParseException'
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 1,
|
|
\ 'col': 1,
|
|
\ 'type': 'E',
|
|
\ 'text': 'Missing closing ''}'' in statement block or type definition.',
|
|
\ 'code': 'ParseException'
|
|
\ }
|
|
\ ],
|
|
\ ale_linters#powershell#powershell#Handle(bufnr(''), [
|
|
\ 'At line:2 char:8',
|
|
\ '+ "" "',
|
|
\ '+ ~',
|
|
\ 'The string is missing the terminator: ".',
|
|
\ 'At line:2 char:8',
|
|
\ '+ "" "',
|
|
\ '+ ~',
|
|
\ 'Unexpected token ''"',
|
|
\ '',
|
|
\ ' }'' in expression or statement.',
|
|
\ '',
|
|
\ 'At line:1 char:1',
|
|
\ '+ {',
|
|
\ '+ ~',
|
|
\ 'Missing closing ''}'' in statement block or type definition.',
|
|
\ 'At C:\Users\jpharris\AppData\Local\Temp\VIAA777.tmp\script.ps1:1 char:150',
|
|
\ '+ ... ontents); [void]$ExecutionContext.InvokeCommand.NewScriptBlock($Con ...',
|
|
\ '+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~',
|
|
\ ' + CategoryInfo : NotSpecified: (:) [], ParseException',
|
|
\ ' + FullyQualifiedErrorId : ParseException'
|
|
\ ])
|