Patch 8.2.2896
Problem:    Spellfile functionality not fully tested.
Solution:   Add tests for CHECKCOMPOUNDPATTERN and COMMON. (Dominique Pellé,
            closes #8270)
Files:      src/testdir/test_spellfile.vim


*** ../vim-8.2.2895/src/testdir/test_spellfile.vim      2020-10-02 
18:48:02.846263669 +0200
--- src/testdir/test_spellfile.vim      2021-05-28 18:13:15.737032384 +0200
***************
*** 842,847 ****
--- 842,913 ----
    %bw!
  endfunc
  
+ " Test CHECKCOMPOUNDPATTERN (see :help spell-CHECKCOMPOUNDPATTERN)
+ func Test_spellfile_CHECKCOMPOUNDPATTERN()
+   call writefile(['4',
+         \         'one/c',
+         \         'two/c',
+         \         'three/c',
+         \         'four'], 'XtestCHECKCOMPOUNDPATTERN.dic')
+   " Forbid compound words where first word ends with 'wo' and second starts 
with 'on'.
+   call writefile(['CHECKCOMPOUNDPATTERN 1',
+         \         'CHECKCOMPOUNDPATTERN wo on',
+         \         'COMPOUNDFLAG c'], 'XtestCHECKCOMPOUNDPATTERN.aff')
+ 
+   let output = execute('mkspell! XtestCHECKCOMPOUNDPATTERN-utf8.spl 
XtestCHECKCOMPOUNDPATTERN')
+   set spell spelllang=XtestCHECKCOMPOUNDPATTERN-utf8.spl
+ 
+   " Check valid words with and without valid compounds.
+   for goodword in ['one', 'two', 'three', 'four',
+         \          'oneone', 'onetwo',  'onethree',
+         \          'twotwo', 'twothree',
+         \          'threeone', 'threetwo', 'threethree',
+         \          'onetwothree', 'onethreetwo', 'twothreeone', 'oneoneone']
+     call assert_equal(['', ''], spellbadword(goodword), goodword)
+   endfor
+ 
+   " Compounds 'twoone' or 'threetwoone' should be forbidden by 
CHECKCOMPOUNPATTERN.
+   " 'four' does not have the 'c' flag in *.aff file so no compound.
+   " 'five' is not in the *.dic file.
+   for badword in ['five', 'onetwox',
+         \         'twoone', 'threetwoone',
+         \         'fourone', 'onefour']
+     call assert_equal([badword, 'bad'], spellbadword(badword))
+   endfor
+ 
+   set spell& spelllang&
+   call delete('XtestCHECKCOMPOUNDPATTERN.dic')
+   call delete('XtestCHECKCOMPOUNDPATTERN.aff')
+   call delete('XtestCHECKCOMPOUNDPATTERN-utf8.spl')
+ endfunc
+ 
+ " Test COMMON (better suggestions with common words, see :help spell-COMMON)
+ func Test_spellfile_COMMON()
+   call writefile(['7',
+         \         'and',
+         \         'ant',
+         \         'end',
+         \         'any',
+         \         'tee',
+         \         'the',
+         \         'ted'], 'XtestCOMMON.dic')
+   call writefile(['COMMON the and'], 'XtestCOMMON.aff')
+ 
+   let output = execute('mkspell! XtestCOMMON-utf8.spl XtestCOMMON')
+   set spell spelllang=XtestCOMMON-utf8.spl
+ 
+   " COMMON words 'and' and 'the' should be the top suggestions.
+   call assert_equal(['and', 'ant'], spellsuggest('anr', 2))
+   call assert_equal(['and', 'end'], spellsuggest('ond', 2))
+   call assert_equal(['the', 'ted'], spellsuggest('tha', 2))
+   call assert_equal(['the', 'tee'], spellsuggest('dhe', 2))
+ 
+   set spell& spelllang&
+   call delete('XtestCOMMON.dic')
+   call delete('XtestCOMMON.aff')
+   call delete('XtestCOMMON-utf8.spl')
+ endfunc
+ 
  " When 'spellfile' is not set, adding a new good word will automatically set
  " the 'spellfile'
  func Test_init_spellfile()
*** ../vim-8.2.2895/src/version.c       2021-05-28 17:52:36.908197725 +0200
--- src/version.c       2021-05-28 18:13:10.245047527 +0200
***************
*** 752,753 ****
--- 752,755 ----
  {   /* Add new patch number below this line */
+ /**/
+     2896,
  /**/

-- 
There are three kinds of people: Those who can count & those who can't.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202105281632.14SGWdTU1289554%40masaka.moolenaar.net.

Raspunde prin e-mail lui