mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	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 | ||||
|   call assert_fails('set spell spelllang=ab_cd', 'E797:') | ||||
|  | ||||
|   " clean up | ||||
|   augroup TestSpellFileMissing | ||||
|     autocmd! SpellFileMissing | ||||
|   augroup END | ||||
|   augroup! TestSpellFileMissing | ||||
|   unlet s:spell_file_missing | ||||
|   set spell& spelllang& | ||||
| @@ -144,19 +148,34 @@ func Test_spell_file_missing() | ||||
| endfunc | ||||
|  | ||||
| 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 | ||||
|   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_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. | ||||
|  | ||||
|   call assert_notequal(0, search('^emacs/?$'))      " ? for a rare word. | ||||
|   call assert_notequal(0, search('^the the/!$'))    " ! for a wrong word. | ||||
|     call assert_notequal(0, search('^emacs/?$'))      " ? for a rare word. | ||||
|     call assert_notequal(0, search('^the the/!$'))    " ! for a wrong word. | ||||
|   endif | ||||
|  | ||||
|   " clean up | ||||
|   unlet g:en_not_found | ||||
|   augroup TestSpellFileMissing | ||||
|     autocmd! SpellFileMissing | ||||
|   augroup END | ||||
|   augroup! TestSpellFileMissing | ||||
|   bwipe | ||||
|   set spell& | ||||
| endfunc | ||||
| @@ -165,18 +184,37 @@ func Test_spelldump_bang() | ||||
|   new | ||||
|   call setline(1, 'This is a sample sentence.') | ||||
|   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 | ||||
|   redraw | ||||
|   spelldump! | ||||
|  | ||||
|   " :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. | ||||
|   if g:en_not_found | ||||
|     call assert_report("Could not find English spell file") | ||||
|   else | ||||
|     redraw | ||||
|     spelldump! | ||||
|  | ||||
|     " :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! | ||||
|   set spell& | ||||
| endfunc | ||||
|   | ||||
| @@ -734,6 +734,8 @@ static char *(features[]) = | ||||
|  | ||||
| static int included_patches[] = | ||||
| {   /* Add new patch number below this line */ | ||||
| /**/ | ||||
|     5098, | ||||
| /**/ | ||||
|     5097, | ||||
| /**/ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user