Merge everything into the one global map.

This commit is contained in:
w0rp
2016-10-24 20:21:32 +01:00
parent 0dbf08f6d5
commit c546f47cc0
13 changed files with 122 additions and 77 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View 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)

View File

@@ -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

View File

@@ -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

View File

@@ -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):