mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 12:44:23 +08:00
Merge everything into the one global map.
This commit is contained in:
@@ -7,11 +7,14 @@ Before:
|
||||
|
||||
After:
|
||||
augroup! VaderTest
|
||||
let g:ale_buffer_info = {}
|
||||
|
||||
Given vim (Some vimscript):
|
||||
set nocompatible
|
||||
|
||||
Execute (Lint it):
|
||||
call ale#Lint()
|
||||
call ale#engine#WaitForJobs(2000)
|
||||
|
||||
Then (Autocommands should have run):
|
||||
AssertEqual g:success, 1
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
Before:
|
||||
let g:buffer = bufnr('%')
|
||||
let g:ale_buffer_loclist_map = {
|
||||
\ g:buffer : [],
|
||||
\ 10347: [],
|
||||
\}
|
||||
|
||||
let g:ale_buffer_info = {
|
||||
\ g:buffer : {},
|
||||
@@ -12,10 +8,8 @@ Before:
|
||||
|
||||
After:
|
||||
unlet! g:buffer
|
||||
let g:ale_buffer_loclist_map = {}
|
||||
let g:ale_buffer_info = {}
|
||||
|
||||
Execute('ALE globals should be cleared when the buffer is closed.'):
|
||||
:q!
|
||||
AssertEqual {10347: []}, g:ale_buffer_loclist_map
|
||||
AssertEqual {10347: {}}, g:ale_buffer_info
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
Before:
|
||||
let g:ale_buffer_loclist_map = {
|
||||
\ bufnr('%'): [
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'eslint',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'E',
|
||||
\ 'col': 10,
|
||||
\ 'text': 'Missing semicolon. (semi)'
|
||||
\ },
|
||||
\ {
|
||||
let g:ale_buffer_info = {
|
||||
\ bufnr('%'): {
|
||||
\ 'loclist': [
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'eslint',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'E',
|
||||
\ 'col': 10,
|
||||
\ 'text': 'Missing semicolon. (semi)'
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 2,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
@@ -20,8 +21,8 @@ Before:
|
||||
\ 'type': 'W',
|
||||
\ 'col': 10,
|
||||
\ 'text': 'Infix operators must be spaced. (space-infix-ops)'
|
||||
\ },
|
||||
\ {
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 2,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
@@ -30,14 +31,15 @@ Before:
|
||||
\ 'type': 'E',
|
||||
\ 'col': 15,
|
||||
\ 'text': 'Missing radix parameter (radix)'
|
||||
\ }
|
||||
\ ],
|
||||
\ }
|
||||
\ ],
|
||||
\ },
|
||||
\}
|
||||
|
||||
After:
|
||||
unlet! g:output
|
||||
unlet! g:lines
|
||||
let g:ale_buffer_loclist_map = {}
|
||||
let g:ale_buffer_info = {}
|
||||
|
||||
Given javascript(A Javscript file with warnings/errors):
|
||||
var x = 3
|
||||
|
||||
31
test/test_get_loclist.vader
Normal file
31
test/test_get_loclist.vader
Normal file
@@ -0,0 +1,31 @@
|
||||
Before:
|
||||
let g:loclist = [
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'eslint',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'E',
|
||||
\ 'col': 10,
|
||||
\ 'text': 'Missing semicolon. (semi)'
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 2,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'eslint',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'W',
|
||||
\ 'col': 10,
|
||||
\ 'text': 'Infix operators must be spaced. (space-infix-ops)'
|
||||
\ },
|
||||
\]
|
||||
let g:ale_buffer_info = {'1': {'loclist': g:loclist}}
|
||||
|
||||
After:
|
||||
unlet g:loclist
|
||||
let g:ale_buffer_info = {}
|
||||
|
||||
Execute(GetLoclist should return the loclist):
|
||||
AssertEqual g:loclist, ale#engine#GetLoclist(1)
|
||||
@@ -26,7 +26,6 @@ Before:
|
||||
|
||||
After:
|
||||
sign unplace *
|
||||
let g:ale_buffer_loclist_map = {}
|
||||
let g:ale_buffer_info = {}
|
||||
delfunction g:CollectSigns
|
||||
unlet g:actual_sign_list
|
||||
|
||||
@@ -3,15 +3,35 @@ Given javascript (Some JavaScript with problems):
|
||||
var y = 3
|
||||
|
||||
Before:
|
||||
let g:ale_buffer_loclist_map = {}
|
||||
let g:expected_data = {bufnr('%'): [{'lnum': 1, 'bufnr': bufnr('%'), 'vcol': 0, 'linter_name': 'eslint', 'nr': -1, 'type': 'W', 'col': 10, 'text': 'Infix operators must be spaced. [Warning/space-infix-ops]'}, {'lnum': 2, 'bufnr': bufnr('%'), 'vcol': 0, 'linter_name': 'eslint', 'nr': -1, 'type': 'E', 'col': 10, 'text': 'Missing semicolon. [Error/semi]'}]}
|
||||
let g:expected_data = [
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'eslint',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'W',
|
||||
\ 'col': 10,
|
||||
\ 'text': 'Infix operators must be spaced. [Warning/space-infix-ops]',
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 2,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'eslint',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'E',
|
||||
\ 'col': 10,
|
||||
\ 'text': 'Missing semicolon. [Error/semi]',
|
||||
\ }
|
||||
\]
|
||||
|
||||
After:
|
||||
let g:ale_buffer_loclist_map = {}
|
||||
unlet g:expected_data
|
||||
|
||||
Execute(The loclist should be updated after linting is done):
|
||||
call ale#Lint()
|
||||
call ale#engine#WaitForJobs(2000)
|
||||
|
||||
AssertEqual g:expected_data, g:ale_buffer_loclist_map
|
||||
AssertEqual ['' . bufnr('%')], keys(g:ale_buffer_info)
|
||||
AssertEqual g:expected_data, g:ale_buffer_info[bufnr('%')].loclist
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
Before:
|
||||
let g:ale_buffer_loclist_map = {}
|
||||
let g:ale_statusline_format = ['%sE', '%sW', 'OKIE']
|
||||
|
||||
After:
|
||||
let g:ale_buffer_loclist_map = {}
|
||||
let g:ale_buffer_info = {}
|
||||
|
||||
Execute (Count should be 0 when data is empty):
|
||||
@@ -20,19 +18,22 @@ Execute (The count should be correct after an update):
|
||||
AssertEqual [0, 0], ale#statusline#Count(44)
|
||||
|
||||
Execute (Count should be match the loclist):
|
||||
let g:ale_buffer_info = {bufnr('%'): {}}
|
||||
let g:ale_buffer_loclist_map = {bufnr('%'): [
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'bufnr': 1,
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'testlinter',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'E',
|
||||
\ 'col': 1,
|
||||
\ 'text': 'Test Error',
|
||||
\ },
|
||||
\]}
|
||||
let g:ale_buffer_info = {
|
||||
\ bufnr('%'): {
|
||||
\ 'loclist': [
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'bufnr': 1,
|
||||
\ 'vcol': 0,
|
||||
\ 'linter_name': 'testlinter',
|
||||
\ 'nr': -1,
|
||||
\ 'type': 'E',
|
||||
\ 'col': 1,
|
||||
\ 'text': 'Test Error',
|
||||
\ },
|
||||
\ ],
|
||||
\ },
|
||||
\}
|
||||
AssertEqual [1, 0], ale#statusline#Count(bufnr('%'))
|
||||
|
||||
Execute (Output should be empty for non-existant buffer):
|
||||
|
||||
Reference in New Issue
Block a user