Add xmllint linter (#559)

* Add xmllint linter for xml
This commit is contained in:
q12321q
2017-05-18 10:31:12 +02:00
committed by w0rp
parent 3ca70cb841
commit cdf0fb39e5
6 changed files with 154 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
Before:
runtime ale_linters/xml/xmllint.vim
After:
call ale#linter#Reset()
let g:ale_xml_xmllint_options = ''
let g:ale_xml_xmllint_executable = 'xmllint'
Execute(The xml xmllint command callback should return the correct default string):
AssertEqual '''xmllint'' --noout -',
\ join(split(ale_linters#xml#xmllint#GetCommand(1)))
Execute(The xml xmllint command callback should let you set options):
let g:ale_xml_xmllint_options = '--xinclude --postvalid'
AssertEqual '''xmllint'' --xinclude --postvalid --noout -',
\ join(split(ale_linters#xml#xmllint#GetCommand(1)))
Execute(The xmllint executable should be configurable):
let g:ale_xml_xmllint_executable = '~/.local/bin/xmllint'
AssertEqual '~/.local/bin/xmllint', ale_linters#xml#xmllint#GetExecutable(1)
AssertEqual '''~/.local/bin/xmllint'' --noout -',
\ join(split(ale_linters#xml#xmllint#GetCommand(1)))

View File

@@ -0,0 +1,30 @@
Before:
runtime ale_linters/xml/xmllint.vim
Execute(The xmllint handler should parse error messages correctly):
AssertEqual
\ [
\ {
\ 'lnum': 1,
\ 'col': 22,
\ 'type': 'W',
\ 'text': 'warning: Unsupported version ''dummy'''
\ },
\ {
\ 'lnum': 34,
\ 'col': 1,
\ 'type': 'E',
\ 'text': 'parser error : Start tag expected, ''<'' not found'
\ }
\ ],
\ ale_linters#xml#xmllint#Handle(1, [
\ 'path/to/file.xml:1: warning: Unsupported version ''dummy''',
\ '<?xml version="dummy"?>',
\ ' ^',
\ '-:34: parser error : Start tag expected, ''<'' not found',
\ 'blahblah>',
\ '^'
\ ])
After:
call ale#linter#Reset()