1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- function! CheckCompletionItemsContainsExactly( expected_props, ... )
- let prop = 'abbr'
- if a:0 > 0
- let prop = a:1
- endif
- let items = complete_info( [ 'items' ] )[ 'items' ]
- let abbrs = []
- for item in items
- call add( abbrs, get( item, prop ) )
- endfor
- return assert_equal( a:expected_props,
- \ abbrs,
- \ 'not matched: '
- \ .. string( a:expected_props )
- \ .. ' against '
- \ .. prop
- \ .. ' in '
- \ .. string( items )
- \ .. ' matching '
- \ .. string( abbrs ) )
- endfunction
- function! CheckCompletionItemsHasItems( expected_props, ... )
- let prop = 'abbr'
- if a:0 > 0
- let prop = a:1
- endif
- let items = complete_info( [ 'items' ] )[ 'items' ]
- let abbrs = []
- for item in items
- call add( abbrs, get( item, prop ) )
- endfor
- let result = 0
- for expected in a:expected_props
- if index( abbrs, expected ) < 0
- call assert_report( "Didn't find item with "
- \ .. prop
- \ .. '="'
- \ .. expected
- \ .. '" in completion list: '
- \ .. string( abbrs ) )
- let result += 1
- endif
- endfor
- return result
- endfunction
- function! IndexOfCompletionItemInList( item, ... )
- let prop = 'abbr'
- if a:0 > 0
- let prop = a:1
- endif
- let items = complete_info( [ 'items' ] )[ 'items' ]
- let abbrs = []
- let idx = 0
- while idx < len( items )
- if get( items[ idx ], prop ) == a:item
- return idx
- endif
- let idx += 1
- endwhile
- call assert_report( 'Did not find item '
- \ . string( a:item )
- \ . ' in completion info list' )
- return -1
- endfunction
- function! FeedAndCheckMain( keys, func )
- call timer_start( 500, a:func )
- call feedkeys( a:keys, 'tx!' )
- endfunction
- function! FeedAndCheckAgain( keys, func )
- call timer_start( 500, a:func )
- call feedkeys( a:keys )
- endfunction
- function! WaitForCompletion()
- call WaitForAssert( {->
- \ assert_true( pyxeval( 'ycm_state.GetCurrentCompletionRequest() is not None' ) )
- \ } )
- call WaitForAssert( {->
- \ assert_true( pyxeval( 'ycm_state.CompletionRequestReady()' ) )
- \ } )
- redraw
- call WaitForAssert( {->
- \ assert_true( pumvisible(), 'pumvisible()' )
- \ }, 10000 )
- endfunction
|