Execute(loclist item should be sorted): AssertEqual [ \ {'bufnr': -1, 'filename': 'b', 'lnum': 4, 'col': 2}, \ {'bufnr': -1, 'filename': 'b', 'lnum': 5, 'col': 2}, \ {'bufnr': -1, 'filename': 'c', 'lnum': 3, 'col': 2}, \ {'bufnr': 1, 'lnum': 2, 'col': 10}, \ {'bufnr': 1, 'lnum': 3, 'col': 2}, \ {'bufnr': 1, 'lnum': 5, 'col': 4}, \ {'bufnr': 1, 'lnum': 5, 'col': 5}, \ {'bufnr': 2, 'lnum': 1, 'col': 2}, \ {'bufnr': 2, 'lnum': 1, 'col': 5}, \ {'bufnr': 2, 'lnum': 5, 'col': 5}, \ {'bufnr': 3, 'lnum': 1, 'col': 1}, \ ], \ sort([ \ {'bufnr': 3, 'lnum': 1, 'col': 1}, \ {'bufnr': -1, 'filename': 'b', 'lnum': 5, 'col': 2}, \ {'bufnr': 1, 'lnum': 5, 'col': 5}, \ {'bufnr': 2, 'lnum': 5, 'col': 5}, \ {'bufnr': -1, 'filename': 'b', 'lnum': 4, 'col': 2}, \ {'bufnr': 1, 'lnum': 5, 'col': 4}, \ {'bufnr': 1, 'lnum': 2, 'col': 10}, \ {'bufnr': 2, 'lnum': 1, 'col': 5}, \ {'bufnr': 1, 'lnum': 3, 'col': 2}, \ {'bufnr': 2, 'lnum': 1, 'col': 2}, \ {'bufnr': -1, 'filename': 'c', 'lnum': 3, 'col': 2}, \], 'ale#util#LocItemCompare') Execute(Items should be sorted in by their problem priority when they lie on the same column): AssertEqual [ \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'W', 'sub_type': 'style'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'E', 'sub_type': 'style'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'I'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'W'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'E'}, \ ], \ sort([ \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'E'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'I'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'W'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'E', 'sub_type': 'style'}, \ {'bufnr': 1, 'lnum': 1, 'col': 1, 'type': 'W', 'sub_type': 'style'}, \], 'ale#util#LocItemCompare')