subrepo: subdir: "dotfiles/.vim/plugged/YouCompleteMe" merged: "99ccab251" upstream: origin: "https://github.com/ycm-core/YouCompleteMe.git" branch: "master" commit: "99ccab251" git-subrepo: version: "0.4.3" origin: "???" commit: "???"
79 lines
3 KiB
VimL
79 lines
3 KiB
VimL
function! CheckCurrentLine( expected_value )
|
|
return assert_equal( a:expected_value, getline( '.' ) )
|
|
endfunction
|
|
|
|
function! AssertDictHasEntries( actual, expected, name = 'expected dict' )
|
|
let l:errs = 0
|
|
for key in keys( a:expected )
|
|
if !has_key( a:actual, key )
|
|
let l:errs += assert_report( 'Key '
|
|
\ . key
|
|
\ . ' of '
|
|
\ . a:name
|
|
\ . ' was not found' )
|
|
elseif type( a:expected[ key ] ) == v:t_dict
|
|
if type( a:actual[ key ] ) != v:t_dict
|
|
let l:errs += assert_report( 'Key '
|
|
\ . key
|
|
\ . ' of '
|
|
\ . a:name
|
|
\ . ' was expected to be a dict, but was '
|
|
\ . string( a:actual[ key ] ) )
|
|
else
|
|
let l:errs += AssertDictHasEntries( a:actual[ key ],
|
|
\ a:expected[ key ],
|
|
\ 'entry ' . key . ' in ' . a:name )
|
|
endif
|
|
else
|
|
let l:errs += assert_equal( a:expected[ key ],
|
|
\ a:actual[ key ],
|
|
\ 'Key '
|
|
\ . key
|
|
\ . ' of '
|
|
\ . a:name
|
|
\ . ' did not match' )
|
|
endif
|
|
endfor
|
|
return l:errs
|
|
endfunction
|
|
|
|
function! CheckListOfDicts( actual_list, expected_list )
|
|
let l:errs = 0
|
|
let l:idx = 0
|
|
if len( a:actual_list ) != len( a:expected_list )
|
|
let l:errs += assert_report( 'Expected list to contain '
|
|
\ . len( a:actual_list )
|
|
\ . ' entries, but found '
|
|
\ . len( a:expected_list )
|
|
\ . ': Expected '
|
|
\ . string( a:expected_list )
|
|
\ . ' but found '
|
|
\ . string( a:actual_list ) )
|
|
endif
|
|
|
|
while l:idx < len( a:expected_list )
|
|
let l:expected = a:expected_list[ l:idx ]
|
|
if l:idx >= len( a:actual_list )
|
|
let l:errs += assert_report( 'The item at index '
|
|
\ . l:idx
|
|
\ . ' was not found: '
|
|
\ . string( l:expected ) )
|
|
else
|
|
let l:actual = a:actual_list[ l:idx ]
|
|
let l:errs += AssertDictHasEntries( l:actual,
|
|
\ l:expected,
|
|
\ 'item at index ' . l:idx )
|
|
endif
|
|
let l:idx = l:idx + 1
|
|
endwhile
|
|
|
|
while idx < len( a:actual_list )
|
|
let l:actual = a:actual_list[ idx ]
|
|
let l:errs += assert_report( 'The following additional property '
|
|
\ . 'was found: '
|
|
\ . string( l:actual ) )
|
|
let l:idx = l:idx + 1
|
|
endwhile
|
|
|
|
return l:errs > 0 ? 1 : 0
|
|
endfunction
|