mirror of
https://github.com/amix/vimrc
synced 2025-06-16 01:25:00 +08:00
Added jedi-vim
This commit is contained in:
143
sources_non_forked/jedi-vim/test/vspec/signatures.vim
Normal file
143
sources_non_forked/jedi-vim/test/vspec/signatures.vim
Normal file
@ -0,0 +1,143 @@
|
||||
source plugin/jedi.vim
|
||||
|
||||
describe 'signatures'
|
||||
before
|
||||
enew
|
||||
set filetype=python
|
||||
end
|
||||
|
||||
after
|
||||
try | %bwipeout! | catch | endtry
|
||||
end
|
||||
|
||||
it 'simple'
|
||||
normal odef xyz(number): return
|
||||
normal o
|
||||
normal oxyz()
|
||||
doautocmd CursorHoldI
|
||||
Expect getline(3) == '?!?jedi=0, ?!? (*_*number*_*) ?!?jedi?!?'
|
||||
|
||||
doautocmd InsertLeave
|
||||
Expect getline(3) == ''
|
||||
end
|
||||
|
||||
it 'multiple buffers'
|
||||
set hidden
|
||||
new
|
||||
setfiletype python
|
||||
redir => autocmds
|
||||
autocmd jedi_call_signatures * <buffer>
|
||||
redir END
|
||||
Expect autocmds =~# 'jedi_call_signatures'
|
||||
buffer #
|
||||
redir => autocmds
|
||||
autocmd jedi_call_signatures * <buffer>
|
||||
redir END
|
||||
Expect autocmds =~# 'jedi_call_signatures'
|
||||
end
|
||||
|
||||
it 'simple after CursorHoldI with only parenthesis'
|
||||
noautocmd normal o
|
||||
doautocmd CursorHoldI
|
||||
noautocmd normal istaticmethod()
|
||||
doautocmd CursorHoldI
|
||||
Expect getline(1) == '?!?jedi=0, ?!? (*_*f: Callable[..., Any]*_*) ?!?jedi?!?'
|
||||
end
|
||||
|
||||
it 'highlights correct argument'
|
||||
noautocmd normal o
|
||||
doautocmd CursorHoldI
|
||||
noautocmd normal iformat(42, "x")
|
||||
" Move to x - highlights "x".
|
||||
noautocmd normal 2h
|
||||
doautocmd CursorHoldI
|
||||
Expect getline(1) == '?!?jedi=0, ?!? (value: object, *_*format_spec: str=...*_*) ?!?jedi?!?'
|
||||
" Move left to 42 - hightlights first argument ("value").
|
||||
noautocmd normal 4h
|
||||
doautocmd CursorHoldI
|
||||
Expect getline(1) == '?!?jedi=0, ?!? (*_*value: object*_*, format_spec: str=...) ?!?jedi?!?'
|
||||
end
|
||||
|
||||
it 'no signature'
|
||||
exe 'normal ostr '
|
||||
python3 jedi_vim.show_call_signatures()
|
||||
Expect getline(1, '$') == ['', 'str ']
|
||||
end
|
||||
|
||||
it 'signatures disabled'
|
||||
let g:jedi#show_call_signatures = 0
|
||||
|
||||
exe 'normal ostr( '
|
||||
python3 jedi_vim.show_call_signatures()
|
||||
Expect getline(1, '$') == ['', 'str( ']
|
||||
|
||||
let g:jedi#show_call_signatures = 1
|
||||
end
|
||||
|
||||
it 'command line simple'
|
||||
let g:jedi#show_call_signatures = 2
|
||||
call jedi#configure_call_signatures()
|
||||
|
||||
exe 'normal ostaticmethod( '
|
||||
redir => msg
|
||||
python3 jedi_vim.show_call_signatures()
|
||||
redir END
|
||||
Expect msg == "\nstaticmethod(f: Callable[..., Any])"
|
||||
|
||||
redir => msg
|
||||
doautocmd InsertLeave
|
||||
redir END
|
||||
Expect msg == "\n"
|
||||
|
||||
normal Sdef foo(a, b): pass
|
||||
exe 'normal ofoo(a, b, c, '
|
||||
redir => msg
|
||||
python3 jedi_vim.show_call_signatures()
|
||||
redir END
|
||||
Expect msg == "\nfoo(a, b)"
|
||||
end
|
||||
|
||||
it 'command line truncation'
|
||||
let g:jedi#show_call_signatures = 2
|
||||
call jedi#configure_call_signatures()
|
||||
|
||||
function! Signature()
|
||||
redir => msg
|
||||
python3 jedi_vim.show_call_signatures()
|
||||
redir END
|
||||
return msg
|
||||
endfunction
|
||||
|
||||
let funcname = repeat('a', &columns - (30 + (&ruler ? 18 : 0)))
|
||||
put = 'def '.funcname.'(arg1, arg2, arg3, a, b, c):'
|
||||
put = ' pass'
|
||||
execute "normal o\<BS>".funcname."( "
|
||||
Expect Signature() == "\n".funcname."(arg1, …)"
|
||||
|
||||
exe 'normal sarg1, '
|
||||
Expect Signature() == "\n".funcname."(…, arg2, …)"
|
||||
|
||||
exe 'normal sarg2, arg3, '
|
||||
Expect Signature() == "\n".funcname."(…, a, b, c)"
|
||||
|
||||
exe 'normal sa, b, '
|
||||
Expect Signature() == "\n".funcname."(…, c)"
|
||||
|
||||
g/^/d
|
||||
put = 'def '.funcname.'('.repeat('b', 20).', arg2):'
|
||||
put = ' pass'
|
||||
execute "normal o\<BS>".funcname."( "
|
||||
Expect Signature() == "\n".funcname."(…)"
|
||||
end
|
||||
|
||||
it 'command line no signature'
|
||||
let g:jedi#show_call_signatures = 2
|
||||
call jedi#configure_call_signatures()
|
||||
|
||||
exe 'normal ostr '
|
||||
redir => msg
|
||||
python3 jedi_vim.show_call_signatures()
|
||||
redir END
|
||||
Expect msg == "\n"
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user