forked from aniani/vim
patch 8.2.5098: spelldump test sometimes hangs
Problem: Spelldump test sometimes hangs. Solution: Catch the problem of the spell file not being found to avoid hanging in the download dialog.
This commit is contained in:
@@ -137,6 +137,10 @@ func Test_spell_file_missing()
|
|||||||
augroup END
|
augroup END
|
||||||
call assert_fails('set spell spelllang=ab_cd', 'E797:')
|
call assert_fails('set spell spelllang=ab_cd', 'E797:')
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
augroup TestSpellFileMissing
|
||||||
|
autocmd! SpellFileMissing
|
||||||
|
augroup END
|
||||||
augroup! TestSpellFileMissing
|
augroup! TestSpellFileMissing
|
||||||
unlet s:spell_file_missing
|
unlet s:spell_file_missing
|
||||||
set spell& spelllang&
|
set spell& spelllang&
|
||||||
@@ -144,19 +148,34 @@ func Test_spell_file_missing()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_spelldump()
|
func Test_spelldump()
|
||||||
|
" In case the spell file is not found avoid getting the download dialog, we
|
||||||
|
" would get stuck at the prompt.
|
||||||
|
let g:en_not_found = 0
|
||||||
|
augroup TestSpellFileMissing
|
||||||
|
au! SpellFileMissing * let g:en_not_found = 1
|
||||||
|
augroup END
|
||||||
set spell spelllang=en
|
set spell spelllang=en
|
||||||
spellrare! emacs
|
spellrare! emacs
|
||||||
|
if g:en_not_found
|
||||||
|
call assert_report("Could not find English spell file")
|
||||||
|
else
|
||||||
|
spelldump
|
||||||
|
|
||||||
spelldump
|
" Check assumption about region: 1: us, 2: au, 3: ca, 4: gb, 5: nz.
|
||||||
|
call assert_equal('/regions=usaucagbnz', getline(1))
|
||||||
|
call assert_notequal(0, search('^theater/1$')) " US English only.
|
||||||
|
call assert_notequal(0, search('^theatre/2345$')) " AU, CA, GB or NZ English.
|
||||||
|
|
||||||
" Check assumption about region: 1: us, 2: au, 3: ca, 4: gb, 5: nz.
|
call assert_notequal(0, search('^emacs/?$')) " ? for a rare word.
|
||||||
call assert_equal('/regions=usaucagbnz', getline(1))
|
call assert_notequal(0, search('^the the/!$')) " ! for a wrong word.
|
||||||
call assert_notequal(0, search('^theater/1$')) " US English only.
|
endif
|
||||||
call assert_notequal(0, search('^theatre/2345$')) " AU, CA, GB or NZ English.
|
|
||||||
|
|
||||||
call assert_notequal(0, search('^emacs/?$')) " ? for a rare word.
|
|
||||||
call assert_notequal(0, search('^the the/!$')) " ! for a wrong word.
|
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
unlet g:en_not_found
|
||||||
|
augroup TestSpellFileMissing
|
||||||
|
autocmd! SpellFileMissing
|
||||||
|
augroup END
|
||||||
|
augroup! TestSpellFileMissing
|
||||||
bwipe
|
bwipe
|
||||||
set spell&
|
set spell&
|
||||||
endfunc
|
endfunc
|
||||||
@@ -165,18 +184,37 @@ func Test_spelldump_bang()
|
|||||||
new
|
new
|
||||||
call setline(1, 'This is a sample sentence.')
|
call setline(1, 'This is a sample sentence.')
|
||||||
redraw
|
redraw
|
||||||
|
|
||||||
|
" In case the spell file is not found avoid getting the download dialog, we
|
||||||
|
" would get stuck at the prompt.
|
||||||
|
let g:en_not_found = 0
|
||||||
|
augroup TestSpellFileMissing
|
||||||
|
au! SpellFileMissing * let g:en_not_found = 1
|
||||||
|
augroup END
|
||||||
|
|
||||||
set spell
|
set spell
|
||||||
redraw
|
|
||||||
spelldump!
|
|
||||||
|
|
||||||
" :spelldump! includes the number of times a word was found while updating
|
if g:en_not_found
|
||||||
" the screen.
|
call assert_report("Could not find English spell file")
|
||||||
" Common word count starts at 10, regular word count starts at 0.
|
else
|
||||||
call assert_notequal(0, search("^is\t11$")) " common word found once.
|
redraw
|
||||||
call assert_notequal(0, search("^the\t10$")) " common word never found.
|
spelldump!
|
||||||
call assert_notequal(0, search("^sample\t1$")) " regular word found once.
|
|
||||||
call assert_equal(0, search("^screen\t")) " regular word never found.
|
|
||||||
|
|
||||||
|
" :spelldump! includes the number of times a word was found while updating
|
||||||
|
" the screen.
|
||||||
|
" Common word count starts at 10, regular word count starts at 0.
|
||||||
|
call assert_notequal(0, search("^is\t11$")) " common word found once.
|
||||||
|
call assert_notequal(0, search("^the\t10$")) " common word never found.
|
||||||
|
call assert_notequal(0, search("^sample\t1$")) " regular word found once.
|
||||||
|
call assert_equal(0, search("^screen\t")) " regular word never found.
|
||||||
|
endif
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
unlet g:en_not_found
|
||||||
|
augroup TestSpellFileMissing
|
||||||
|
autocmd! SpellFileMissing
|
||||||
|
augroup END
|
||||||
|
augroup! TestSpellFileMissing
|
||||||
%bwipe!
|
%bwipe!
|
||||||
set spell&
|
set spell&
|
||||||
endfunc
|
endfunc
|
||||||
|
@@ -734,6 +734,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
5098,
|
||||||
/**/
|
/**/
|
||||||
5097,
|
5097,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user