0
0
mirror of https://github.com/vim/vim.git synced 2025-10-04 05:25:06 -04:00

patch 8.2.1659: spellfile code not completely tested

Problem:    Spellfile code not completely tested.
Solution:   Add a few more test cases. (Yegappan Lakshmanan, closes #6929)
This commit is contained in:
Bram Moolenaar
2020-09-11 18:11:50 +02:00
parent a810db3f17
commit 96fdf4348a
3 changed files with 34 additions and 0 deletions

View File

@@ -112,6 +112,7 @@ foobar/?
set spelllang= set spelllang=
call assert_fails("call spellbadword('maxch')", 'E756:') call assert_fails("call spellbadword('maxch')", 'E756:')
call assert_fails("spelldump", 'E756:')
call delete('Xwords.spl') call delete('Xwords.spl')
call delete('Xwords') call delete('Xwords')

View File

@@ -307,6 +307,9 @@ func Test_spellfile_format_error()
" SN_SOFO: empty sofofrom and sofoto " SN_SOFO: empty sofofrom and sofoto
call Spellfile_Test(0z06000000000400000000FF000000000000000000000000, '') call Spellfile_Test(0z06000000000400000000FF000000000000000000000000, '')
" SN_SOFO: multi-byte characters in sofofrom and sofoto
call Spellfile_Test(0z0600000000080002CF810002CF82FF000000000000000000000000, '')
" SN_COMPOUND: compmax is less than 2 " SN_COMPOUND: compmax is less than 2
call Spellfile_Test(0z08000000000101, 'E759:') call Spellfile_Test(0z08000000000101, 'E759:')
@@ -550,8 +553,14 @@ endfunc
" Test for the :mkspell command " Test for the :mkspell command
func Test_mkspell() func Test_mkspell()
call assert_fails('mkspell Xtest_us.spl', 'E751:') call assert_fails('mkspell Xtest_us.spl', 'E751:')
call assert_fails('mkspell Xtest.spl abc', 'E484:')
call assert_fails('mkspell a b c d e f g h i j k', 'E754:') call assert_fails('mkspell a b c d e f g h i j k', 'E754:')
" create a .aff file but not the .dic file
call writefile([], 'Xtest.aff')
call assert_fails('mkspell Xtest.spl Xtest', 'E484:')
call delete('Xtest.aff')
call writefile([], 'Xtest.spl') call writefile([], 'Xtest.spl')
call writefile([], 'Xtest.dic') call writefile([], 'Xtest.dic')
call assert_fails('mkspell Xtest.spl Xtest.dic', 'E13:') call assert_fails('mkspell Xtest.spl Xtest.dic', 'E13:')
@@ -772,6 +781,14 @@ func Test_aff_file_format_error()
call assert_fails('mkspell! Xtest.spl Xtest', 'E761:') call assert_fails('mkspell! Xtest.spl Xtest', 'E761:')
let &encoding = save_encoding let &encoding = save_encoding
" missing UPP entry
call writefile(["FOL abc", "LOW abc"], 'Xtest.aff')
let save_encoding = &encoding
set encoding=cp949
let output = execute('mkspell! Xtest.spl Xtest')
call assert_match('Missing FOL/LOW/UPP line in Xtest.aff', output)
let &encoding = save_encoding
" duplicate word in the .dic file " duplicate word in the .dic file
call writefile(['2', 'good', 'good', 'good'], 'Xtest.dic') call writefile(['2', 'good', 'good', 'good'], 'Xtest.dic')
call writefile(['NAME vim'], 'Xtest.aff') call writefile(['NAME vim'], 'Xtest.aff')
@@ -779,6 +796,20 @@ func Test_aff_file_format_error()
call assert_match('First duplicate word in Xtest.dic line 3: good', output) call assert_match('First duplicate word in Xtest.dic line 3: good', output)
call assert_match('2 duplicate word(s) in Xtest.dic', output) call assert_match('2 duplicate word(s) in Xtest.dic', output)
" use multiple .aff files with different values for COMPOUNDWORDMAX and
" MIDWORD (number and string)
call writefile(['1', 'world'], 'Xtest_US.dic')
call writefile(['1', 'world'], 'Xtest_CA.dic')
call writefile(["COMPOUNDWORDMAX 3", "MIDWORD '-"], 'Xtest_US.aff')
call writefile(["COMPOUNDWORDMAX 4", "MIDWORD '="], 'Xtest_CA.aff')
let output = execute('mkspell! Xtest.spl Xtest_US Xtest_CA')
call assert_match('COMPOUNDWORDMAX value differs from what is used in another .aff file', output)
call assert_match('MIDWORD value differs from what is used in another .aff file', output)
call delete('Xtest_US.dic')
call delete('Xtest_CA.dic')
call delete('Xtest_US.aff')
call delete('Xtest_CA.aff')
call delete('Xtest.dic') call delete('Xtest.dic')
call delete('Xtest.aff') call delete('Xtest.aff')
call delete('Xtest.spl') call delete('Xtest.spl')

View File

@@ -750,6 +750,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 */
/**/
1659,
/**/ /**/
1658, 1658,
/**/ /**/