" Author: Adrian Zalewski Before: runtime ale_linters/handlebars/embertemplatelint.vim Execute(The ember-template-lint handler should parse lines correctly): let input_lines = split('{ \ "/ember-project/app/templates/application.hbs": [ \ { \ "moduleId": "app/templates/application", \ "rule": "bare-strings", \ "severity": 2, \ "message": "Non-translated string used", \ "line": 1, \ "column": 10, \ "source": " Bare String\n" \ }, \ { \ "moduleId": "app/templates/application", \ "rule": "invalid-interactive", \ "severity": 1, \ "message": "Interaction added to non-interactive element", \ "line": 3, \ "column": 6, \ "source": "" \ } \ ] \ }', '\n') AssertEqual \ [ \ { \ 'bufnr': 347, \ 'lnum': 1, \ 'col': 10, \ 'text': 'bare-strings: Non-translated string used', \ 'type': 'E', \ }, \ { \ 'bufnr': 347, \ 'lnum': 3, \ 'col': 6, \ 'text': 'invalid-interactive: Interaction added to non-interactive element', \ 'type': 'W', \ }, \ ], \ ale_linters#handlebars#embertemplatelint#Handle(347, input_lines) Execute(The ember-template-lint handler should handle no lint errors/warnings): AssertEqual \ [ \ ], \ ale_linters#handlebars#embertemplatelint#Handle(347, []) After: call ale#linter#Reset()