Execute(The vale handler should handle broken JSON):
  AssertEqual
  \ [],
  \ ale#handlers#vale#Handle(bufnr(''), ["{asdf"])

Execute(The vale handler should handle am empty string response):
  AssertEqual
  \ [],
  \ ale#handlers#vale#Handle(bufnr(''), [])

Execute(The vale handler should handle an empty result):
  AssertEqual
  \ [],
  \ ale#handlers#vale#Handle(bufnr(''), ["{}"])

Execute(The vale handler should handle a normal example):
  AssertEqual
  \ [
  \   {
  \     'lnum': 5,
  \     'col': 195,
  \     'end_col': 201,
  \     'type': 'W',
  \     'text': "Consider removing 'usually'",
  \     'code': 'vale.Hedging',
  \   },
  \   {
  \     'lnum': 7,
  \     'col': 1,
  \     'end_col': 27,
  \     'type': 'E',
  \     'text': "'Documentation' is repeated!",
  \     'code': 'vale.Repetition',
  \   },
  \   {
  \     'lnum': 7,
  \     'col': 1,
  \     'end_col': 27,
  \     'type': 'I',
  \     'text': "'Documentation' is repeated!",
  \     'code': 'vale.Repetition',
  \   },
  \ ],
  \ ale#handlers#vale#Handle(bufnr(''), [
  \   '{',
  \   '  "/home/languitar/src/autosuspend/README.md": [',
  \   '    {',
  \   '      "Check": "vale.Hedging",',
  \   '      "Description": "",',
  \   '      "Line": 5,',
  \   '      "Link": "",',
  \   "      \"Message\": \"Consider removing 'usually'\",",
  \   '      "Severity": "warning",',
  \   '      "Span": [',
  \   '        195,',
  \   '        201',
  \   '      ],',
  \   '      "Hide": false',
  \   '    },',
  \   '    {',
  \   '      "Check": "vale.Repetition",',
  \   '      "Description": "",',
  \   '      "Line": 7,',
  \   '      "Link": "",',
  \   "      \"Message\": \"'Documentation' is repeated!\",",
  \   '      "Severity": "error",',
  \   '      "Span": [',
  \   '        1,',
  \   '        27',
  \   '      ],',
  \   '      "Hide": false',
  \   '    },',
  \   '    {',
  \   '      "Check": "vale.Repetition",',
  \   '      "Description": "",',
  \   '      "Line": 7,',
  \   '      "Link": "",',
  \   "      \"Message\": \"'Documentation' is repeated!\",",
  \   '      "Severity": "suggestion",',
  \   '      "Span": [',
  \   '        1,',
  \   '        27',
  \   '      ],',
  \   '      "Hide": false',
  \   '    }',
  \   '  ]',
  \   '}',
  \ ])