mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.1754: completion with spell checking not tested (#12992)
vim-patch:8.2.1754: completion with spell checking not tested
Problem: Completion with spell checking not tested.
Solution: Add a test case. (Dominique Pellé, closes vim/vim#7024)
8c7ad3631a
Cherry-pick GetMessages() from patch 8.2.0666.
Comment out the code that checks for "Messages maintainer:" line
because Neovim's ":messages" command does not output it
and patches for the "methods" feature (ie. foo->bar) are not ported yet.
https://github.com/neovim/neovim/pull/5160
This commit is contained in:
parent
8bc55f656a
commit
c5ceefca79
@ -329,3 +329,17 @@ func RunVimPiped(before, after, arguments, pipecmd)
|
||||
endif
|
||||
return 1
|
||||
endfunc
|
||||
|
||||
" Get all messages but drop the maintainer entry.
|
||||
func GetMessages()
|
||||
redir => result
|
||||
redraw | messages
|
||||
redir END
|
||||
let msg_list = split(result, "\n")
|
||||
" if msg_list->len() > 0 && msg_list[0] =~ 'Messages maintainer:'
|
||||
" return msg_list[1:]
|
||||
" endif
|
||||
return msg_list
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -118,6 +118,43 @@ foobar/?
|
||||
set spell&
|
||||
endfunc
|
||||
|
||||
func Test_spelllang_inv_region()
|
||||
set spell spelllang=en_xx
|
||||
let messages = GetMessages()
|
||||
call assert_equal('Warning: region xx not supported', messages[-1])
|
||||
set spell& spelllang&
|
||||
endfunc
|
||||
|
||||
func Test_compl_with_CTRL_X_CTRL_K_using_spell()
|
||||
" When spell checking is enabled and 'dictionary' is empty,
|
||||
" CTRL-X CTRL-K in insert mode completes using the spelling dictionary.
|
||||
new
|
||||
set spell spelllang=en dictionary=
|
||||
|
||||
set ignorecase
|
||||
call feedkeys("Senglis\<c-x>\<c-k>\<esc>", 'tnx')
|
||||
call assert_equal(['English'], getline(1, '$'))
|
||||
call feedkeys("SEnglis\<c-x>\<c-k>\<esc>", 'tnx')
|
||||
call assert_equal(['English'], getline(1, '$'))
|
||||
|
||||
set noignorecase
|
||||
call feedkeys("Senglis\<c-x>\<c-k>\<esc>", 'tnx')
|
||||
call assert_equal(['englis'], getline(1, '$'))
|
||||
call feedkeys("SEnglis\<c-x>\<c-k>\<esc>", 'tnx')
|
||||
call assert_equal(['English'], getline(1, '$'))
|
||||
|
||||
set spelllang=en_us
|
||||
call feedkeys("Stheat\<c-x>\<c-k>\<esc>", 'tnx')
|
||||
call assert_equal(['theater'], getline(1, '$'))
|
||||
set spelllang=en_gb
|
||||
call feedkeys("Stheat\<c-x>\<c-k>\<esc>", 'tnx')
|
||||
" FIXME: commented out, expected theatre bug got theater. See issue #7025.
|
||||
" call assert_equal(['theatre'], getline(1, '$'))
|
||||
|
||||
bwipe!
|
||||
set spell& spelllang& dictionary& ignorecase&
|
||||
endfunc
|
||||
|
||||
func Test_spellreall()
|
||||
new
|
||||
set spell
|
||||
|
Loading…
Reference in New Issue
Block a user