Before:
  runtime ale_linters/xml/xmllint.vim

After:
  let g:ale_xml_xmllint_options = ''
  let g:ale_xml_xmllint_executable = 'xmllint'

  call ale#linter#Reset()

Execute(The xml xmllint command callback should return the correct default string):
  AssertEqual ale#Escape('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 ale#Escape('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 ale#Escape('~/.local/bin/xmllint') . ' --noout -',
  \ join(split(ale_linters#xml#xmllint#GetCommand(1)))