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:
Jan Edmund Lazo 2020-09-27 15:08:41 -04:00 committed by GitHub
parent 8bc55f656a
commit c5ceefca79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 0 deletions

View File

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

View File

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