mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.1354: test 59 is old style
Problem: Test 59 is old style. Solution: Convert into a new style test. (Yegappan Lakshmanan, closes #6604)
This commit is contained in:
parent
8b89614e69
commit
aa970abd0a
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.2. Last change: 2020 Jul 21
|
*eval.txt* For Vim version 8.2. Last change: 2020 Aug 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -4273,6 +4273,8 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
|||||||
line number
|
line number
|
||||||
<sflnum> script file line number, also when in
|
<sflnum> script file line number, also when in
|
||||||
a function
|
a function
|
||||||
|
<SID> "<SNR>123_" where "123" is the
|
||||||
|
current script ID |<SID>|
|
||||||
<cword> word under the cursor
|
<cword> word under the cursor
|
||||||
<cWORD> WORD under the cursor
|
<cWORD> WORD under the cursor
|
||||||
<client> the {clientid} of the last received
|
<client> the {clientid} of the last received
|
||||||
@ -12129,7 +12131,8 @@ text...
|
|||||||
{endmarker}
|
{endmarker}
|
||||||
Set internal variable {var-name} to a |List|
|
Set internal variable {var-name} to a |List|
|
||||||
containing the lines of text bounded by the string
|
containing the lines of text bounded by the string
|
||||||
{endmarker}.
|
{endmarker}. The lines of text is used as a
|
||||||
|
|literal-string|.
|
||||||
{endmarker} must not contain white space.
|
{endmarker} must not contain white space.
|
||||||
{endmarker} cannot start with a lower case character.
|
{endmarker} cannot start with a lower case character.
|
||||||
The last line should end only with the {endmarker}
|
The last line should end only with the {endmarker}
|
||||||
|
@ -2310,7 +2310,7 @@ test_libvterm:
|
|||||||
|
|
||||||
# Run individual OLD style test.
|
# Run individual OLD style test.
|
||||||
# These do not depend on the executable, compile it when needed.
|
# These do not depend on the executable, compile it when needed.
|
||||||
test1 test49 test59:
|
test1 test49:
|
||||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||||
|
|
||||||
# Run individual NEW style test.
|
# Run individual NEW style test.
|
||||||
|
@ -20,7 +20,7 @@ SCRIPTS_MORE1 =
|
|||||||
SCRIPTS_MORE2 = test49.out
|
SCRIPTS_MORE2 = test49.out
|
||||||
|
|
||||||
# Tests that run on most systems, but not on VMS
|
# Tests that run on most systems, but not on VMS
|
||||||
SCRIPTS_MORE4 = test59.out
|
SCRIPTS_MORE4 =
|
||||||
|
|
||||||
# Tests specifically for MS-Windows.
|
# Tests specifically for MS-Windows.
|
||||||
SCRIPTS_WIN32 =
|
SCRIPTS_WIN32 =
|
||||||
@ -242,6 +242,7 @@ NEW_TESTS = \
|
|||||||
test_source \
|
test_source \
|
||||||
test_source_utf8 \
|
test_source_utf8 \
|
||||||
test_spell \
|
test_spell \
|
||||||
|
test_spell_utf8 \
|
||||||
test_spellfile \
|
test_spellfile \
|
||||||
test_startup \
|
test_startup \
|
||||||
test_startup_utf8 \
|
test_startup_utf8 \
|
||||||
@ -464,6 +465,7 @@ NEW_TESTS_RES = \
|
|||||||
test_sound.res \
|
test_sound.res \
|
||||||
test_source.res \
|
test_source.res \
|
||||||
test_spell.res \
|
test_spell.res \
|
||||||
|
test_spell_utf8.res \
|
||||||
test_spellfile.res \
|
test_spellfile.res \
|
||||||
test_startup.res \
|
test_startup.res \
|
||||||
test_stat.res \
|
test_stat.res \
|
||||||
|
@ -32,22 +32,6 @@
|
|||||||
# and directory handling.
|
# and directory handling.
|
||||||
# WANT_UNIX = YES
|
# WANT_UNIX = YES
|
||||||
|
|
||||||
# Comment out if you want to run Win32 specific tests as well, but please
|
|
||||||
# be aware, that on OpenVMS will fail, because of cat, rm, etc commands
|
|
||||||
# and directory handling.
|
|
||||||
# WANT_WIN = YES
|
|
||||||
|
|
||||||
# Comment out if you want to run spell checker tests.
|
|
||||||
# They fail because VMS does not support file names.
|
|
||||||
# WANT_SPELL = YES
|
|
||||||
|
|
||||||
# Comment out if you want to run mzschema tests.
|
|
||||||
# It fails because VMS does not support this feature yet.
|
|
||||||
# WANT_MZSCH = YES
|
|
||||||
|
|
||||||
# Comment out if you have ODS-5 file system
|
|
||||||
# HAVE_ODS5 = YES
|
|
||||||
|
|
||||||
# Comment out if you have gzip on your system
|
# Comment out if you have gzip on your system
|
||||||
# HAVE_GZIP = YES
|
# HAVE_GZIP = YES
|
||||||
|
|
||||||
@ -75,12 +59,6 @@ VIMPROG = <->vim.exe
|
|||||||
|
|
||||||
SCRIPT = test1.out test49.out test77a.out
|
SCRIPT = test1.out test49.out test77a.out
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
#
|
|
||||||
# test59: Failed/Hangs - VMS does not support spell files (file names
|
|
||||||
# with too many dots).
|
|
||||||
#
|
|
||||||
|
|
||||||
.IFDEF WANT_GUI
|
.IFDEF WANT_GUI
|
||||||
GUI_OPTION = -g
|
GUI_OPTION = -g
|
||||||
.ENDIF
|
.ENDIF
|
||||||
@ -89,10 +67,6 @@ GUI_OPTION = -g
|
|||||||
SCRIPT_UNIX = test49.out
|
SCRIPT_UNIX = test49.out
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
|
||||||
.IFDEF WANT_SPELL
|
|
||||||
SCRIPT_SPELL = test59.out
|
|
||||||
.ENDIF
|
|
||||||
|
|
||||||
.in.out :
|
.in.out :
|
||||||
-@ !clean up before doing the test
|
-@ !clean up before doing the test
|
||||||
-@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.*
|
-@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.*
|
||||||
@ -113,8 +87,7 @@ SCRIPT_SPELL = test59.out
|
|||||||
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
|
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
|
||||||
-@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.*
|
-@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.*
|
||||||
|
|
||||||
all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_UNIX) $(SCRIPT_SPELL) \
|
all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_UNIX) nolog
|
||||||
nolog
|
|
||||||
-@ write sys$output " "
|
-@ write sys$output " "
|
||||||
-@ write sys$output "-----------------------------------------------"
|
-@ write sys$output "-----------------------------------------------"
|
||||||
-@ write sys$output " All done"
|
-@ write sys$output " All done"
|
||||||
@ -139,10 +112,6 @@ nolog :
|
|||||||
-@ write sys$output "MAKE_VMS.MMS options:"
|
-@ write sys$output "MAKE_VMS.MMS options:"
|
||||||
-@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
|
-@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
|
||||||
-@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" "
|
-@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" "
|
||||||
-@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" "
|
|
||||||
-@ write sys$output " WANT_SPELL = ""$(WANT_SPELL)"" "
|
|
||||||
-@ write sys$output " WANT_MZSCH = ""$(WANT_MZSCH)"" "
|
|
||||||
-@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" "
|
|
||||||
-@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" "
|
-@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" "
|
||||||
-@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
|
-@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
|
||||||
-@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" "
|
-@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" "
|
||||||
|
@ -1,626 +0,0 @@
|
|||||||
Tests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
:so mbyte.vim
|
|
||||||
:"
|
|
||||||
:" Don't want to depend on the locale from the environment. The .aff and .dic
|
|
||||||
:" text is in latin1, the test text is utf-8.
|
|
||||||
:set enc=latin1
|
|
||||||
:e!
|
|
||||||
:set enc=utf-8
|
|
||||||
:set fenc=
|
|
||||||
:"
|
|
||||||
:" Function to test .aff/.dic with list of good and bad words.
|
|
||||||
:func TestOne(aff, dic)
|
|
||||||
set spellfile=
|
|
||||||
$put =''
|
|
||||||
$put ='test '. a:aff . '-' . a:dic
|
|
||||||
" Generate a .spl file from a .dic and .aff file.
|
|
||||||
exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
|
|
||||||
exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
|
|
||||||
mkspell! Xtest Xtest
|
|
||||||
" use that spell file
|
|
||||||
set spl=Xtest.utf-8.spl spell
|
|
||||||
" list all valid words
|
|
||||||
spelldump
|
|
||||||
%yank
|
|
||||||
quit
|
|
||||||
$put
|
|
||||||
$put ='-------'
|
|
||||||
" find all bad words and suggestions for them
|
|
||||||
exe '1;/^' . a:aff . 'good:'
|
|
||||||
normal 0f:]s
|
|
||||||
let prevbad = ''
|
|
||||||
while 1
|
|
||||||
let [bad, a] = spellbadword()
|
|
||||||
if bad == '' || bad == prevbad || bad == 'badend'
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
let prevbad = bad
|
|
||||||
let lst = spellsuggest(bad, 3)
|
|
||||||
normal mm
|
|
||||||
$put =bad
|
|
||||||
$put =string(lst)
|
|
||||||
normal `m]s
|
|
||||||
endwhile
|
|
||||||
endfunc
|
|
||||||
:"
|
|
||||||
:call TestOne('1', '1')
|
|
||||||
:$put =soundfold('goobledygoook')
|
|
||||||
:$put =soundfold('kóopërÿnôven')
|
|
||||||
:$put =soundfold('oeverloos gezwets edale')
|
|
||||||
:"
|
|
||||||
:"
|
|
||||||
:" and now with SAL instead of SOFO items; test automatic reloading
|
|
||||||
gg:/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
|
|
||||||
:mkspell! Xtest Xtest
|
|
||||||
:$put =soundfold('goobledygoook')
|
|
||||||
:$put =soundfold('kóopërÿnôven')
|
|
||||||
:$put =soundfold('oeverloos gezwets edale')
|
|
||||||
:"
|
|
||||||
:" also use an addition file
|
|
||||||
gg:/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
|
|
||||||
:mkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
|
|
||||||
:set spellfile=Xtest.utf-8.add
|
|
||||||
/^test2:
|
|
||||||
]s:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
:set spl=Xtest_us.utf-8.spl
|
|
||||||
/^test2:
|
|
||||||
]smm:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
`m]s:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
:set spl=Xtest_gb.utf-8.spl
|
|
||||||
/^test2:
|
|
||||||
]smm:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
`m]s:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
:set spl=Xtest_nz.utf-8.spl
|
|
||||||
/^test2:
|
|
||||||
]smm:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
`m]s:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
:set spl=Xtest_ca.utf-8.spl
|
|
||||||
/^test2:
|
|
||||||
]smm:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
`m]s:let [str, a] = spellbadword()
|
|
||||||
:$put =str
|
|
||||||
:unlet str a
|
|
||||||
:"
|
|
||||||
:" Postponed prefixes
|
|
||||||
:call TestOne('2', '1')
|
|
||||||
:"
|
|
||||||
:" Compound words
|
|
||||||
:call TestOne('3', '3')
|
|
||||||
:call TestOne('4', '4')
|
|
||||||
:call TestOne('5', '5')
|
|
||||||
:call TestOne('6', '6')
|
|
||||||
:call TestOne('7', '7')
|
|
||||||
:"
|
|
||||||
:" clean up for valgrind
|
|
||||||
:delfunc TestOne
|
|
||||||
:set spl= enc=latin1
|
|
||||||
:"
|
|
||||||
gg:/^test output:/,$wq! test.out
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
1affstart
|
|
||||||
SET ISO8859-1
|
|
||||||
TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
|
|
||||||
|
|
||||||
FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
|
|
||||||
|
|
||||||
SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
|
|
||||||
SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
|
|
||||||
|
|
||||||
MIDWORD '-
|
|
||||||
|
|
||||||
KEP =
|
|
||||||
RAR ?
|
|
||||||
BAD !
|
|
||||||
|
|
||||||
#NOSPLITSUGS
|
|
||||||
|
|
||||||
PFX I N 1
|
|
||||||
PFX I 0 in .
|
|
||||||
|
|
||||||
PFX O Y 1
|
|
||||||
PFX O 0 out .
|
|
||||||
|
|
||||||
SFX S Y 2
|
|
||||||
SFX S 0 s [^s]
|
|
||||||
SFX S 0 es s
|
|
||||||
|
|
||||||
SFX N N 3
|
|
||||||
SFX N 0 en [^n]
|
|
||||||
SFX N 0 nen n
|
|
||||||
SFX N 0 n .
|
|
||||||
|
|
||||||
REP 3
|
|
||||||
REP g ch
|
|
||||||
REP ch g
|
|
||||||
REP svp s.v.p.
|
|
||||||
|
|
||||||
MAP 9
|
|
||||||
MAP aàáâãäå
|
|
||||||
MAP eèéêë
|
|
||||||
MAP iìíîï
|
|
||||||
MAP oòóôõö
|
|
||||||
MAP uùúûü
|
|
||||||
MAP nñ
|
|
||||||
MAP cç
|
|
||||||
MAP yÿý
|
|
||||||
MAP sß
|
|
||||||
1affend
|
|
||||||
|
|
||||||
affstart_sal
|
|
||||||
SET ISO8859-1
|
|
||||||
TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
|
|
||||||
|
|
||||||
FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
|
|
||||||
|
|
||||||
MIDWORD '-
|
|
||||||
|
|
||||||
KEP =
|
|
||||||
RAR ?
|
|
||||||
BAD !
|
|
||||||
|
|
||||||
#NOSPLITSUGS
|
|
||||||
|
|
||||||
PFX I N 1
|
|
||||||
PFX I 0 in .
|
|
||||||
|
|
||||||
PFX O Y 1
|
|
||||||
PFX O 0 out .
|
|
||||||
|
|
||||||
SFX S Y 2
|
|
||||||
SFX S 0 s [^s]
|
|
||||||
SFX S 0 es s
|
|
||||||
|
|
||||||
SFX N N 3
|
|
||||||
SFX N 0 en [^n]
|
|
||||||
SFX N 0 nen n
|
|
||||||
SFX N 0 n .
|
|
||||||
|
|
||||||
REP 3
|
|
||||||
REP g ch
|
|
||||||
REP ch g
|
|
||||||
REP svp s.v.p.
|
|
||||||
|
|
||||||
MAP 9
|
|
||||||
MAP aàáâãäå
|
|
||||||
MAP eèéêë
|
|
||||||
MAP iìíîï
|
|
||||||
MAP oòóôõö
|
|
||||||
MAP uùúûü
|
|
||||||
MAP nñ
|
|
||||||
MAP cç
|
|
||||||
MAP yÿý
|
|
||||||
MAP sß
|
|
||||||
|
|
||||||
SAL AH(AEIOUY)-^ *H
|
|
||||||
SAL AR(AEIOUY)-^ *R
|
|
||||||
SAL A(HR)^ *
|
|
||||||
SAL A^ *
|
|
||||||
SAL AH(AEIOUY)- H
|
|
||||||
SAL AR(AEIOUY)- R
|
|
||||||
SAL A(HR) _
|
|
||||||
SAL À^ *
|
|
||||||
SAL Å^ *
|
|
||||||
SAL BB- _
|
|
||||||
SAL B B
|
|
||||||
SAL CQ- _
|
|
||||||
SAL CIA X
|
|
||||||
SAL CH X
|
|
||||||
SAL C(EIY)- S
|
|
||||||
SAL CK K
|
|
||||||
SAL COUGH^ KF
|
|
||||||
SAL CC< C
|
|
||||||
SAL C K
|
|
||||||
SAL DG(EIY) K
|
|
||||||
SAL DD- _
|
|
||||||
SAL D T
|
|
||||||
SAL É< E
|
|
||||||
SAL EH(AEIOUY)-^ *H
|
|
||||||
SAL ER(AEIOUY)-^ *R
|
|
||||||
SAL E(HR)^ *
|
|
||||||
SAL ENOUGH^$ *NF
|
|
||||||
SAL E^ *
|
|
||||||
SAL EH(AEIOUY)- H
|
|
||||||
SAL ER(AEIOUY)- R
|
|
||||||
SAL E(HR) _
|
|
||||||
SAL FF- _
|
|
||||||
SAL F F
|
|
||||||
SAL GN^ N
|
|
||||||
SAL GN$ N
|
|
||||||
SAL GNS$ NS
|
|
||||||
SAL GNED$ N
|
|
||||||
SAL GH(AEIOUY)- K
|
|
||||||
SAL GH _
|
|
||||||
SAL GG9 K
|
|
||||||
SAL G K
|
|
||||||
SAL H H
|
|
||||||
SAL IH(AEIOUY)-^ *H
|
|
||||||
SAL IR(AEIOUY)-^ *R
|
|
||||||
SAL I(HR)^ *
|
|
||||||
SAL I^ *
|
|
||||||
SAL ING6 N
|
|
||||||
SAL IH(AEIOUY)- H
|
|
||||||
SAL IR(AEIOUY)- R
|
|
||||||
SAL I(HR) _
|
|
||||||
SAL J K
|
|
||||||
SAL KN^ N
|
|
||||||
SAL KK- _
|
|
||||||
SAL K K
|
|
||||||
SAL LAUGH^ LF
|
|
||||||
SAL LL- _
|
|
||||||
SAL L L
|
|
||||||
SAL MB$ M
|
|
||||||
SAL MM M
|
|
||||||
SAL M M
|
|
||||||
SAL NN- _
|
|
||||||
SAL N N
|
|
||||||
SAL OH(AEIOUY)-^ *H
|
|
||||||
SAL OR(AEIOUY)-^ *R
|
|
||||||
SAL O(HR)^ *
|
|
||||||
SAL O^ *
|
|
||||||
SAL OH(AEIOUY)- H
|
|
||||||
SAL OR(AEIOUY)- R
|
|
||||||
SAL O(HR) _
|
|
||||||
SAL PH F
|
|
||||||
SAL PN^ N
|
|
||||||
SAL PP- _
|
|
||||||
SAL P P
|
|
||||||
SAL Q K
|
|
||||||
SAL RH^ R
|
|
||||||
SAL ROUGH^ RF
|
|
||||||
SAL RR- _
|
|
||||||
SAL R R
|
|
||||||
SAL SCH(EOU)- SK
|
|
||||||
SAL SC(IEY)- S
|
|
||||||
SAL SH X
|
|
||||||
SAL SI(AO)- X
|
|
||||||
SAL SS- _
|
|
||||||
SAL S S
|
|
||||||
SAL TI(AO)- X
|
|
||||||
SAL TH @
|
|
||||||
SAL TCH-- _
|
|
||||||
SAL TOUGH^ TF
|
|
||||||
SAL TT- _
|
|
||||||
SAL T T
|
|
||||||
SAL UH(AEIOUY)-^ *H
|
|
||||||
SAL UR(AEIOUY)-^ *R
|
|
||||||
SAL U(HR)^ *
|
|
||||||
SAL U^ *
|
|
||||||
SAL UH(AEIOUY)- H
|
|
||||||
SAL UR(AEIOUY)- R
|
|
||||||
SAL U(HR) _
|
|
||||||
SAL V^ W
|
|
||||||
SAL V F
|
|
||||||
SAL WR^ R
|
|
||||||
SAL WH^ W
|
|
||||||
SAL W(AEIOU)- W
|
|
||||||
SAL X^ S
|
|
||||||
SAL X KS
|
|
||||||
SAL Y(AEIOU)- Y
|
|
||||||
SAL ZZ- _
|
|
||||||
SAL Z S
|
|
||||||
affend_sal
|
|
||||||
|
|
||||||
2affstart
|
|
||||||
SET ISO8859-1
|
|
||||||
|
|
||||||
FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
|
|
||||||
|
|
||||||
PFXPOSTPONE
|
|
||||||
|
|
||||||
MIDWORD '-
|
|
||||||
|
|
||||||
KEP =
|
|
||||||
RAR ?
|
|
||||||
BAD !
|
|
||||||
|
|
||||||
#NOSPLITSUGS
|
|
||||||
|
|
||||||
PFX I N 1
|
|
||||||
PFX I 0 in .
|
|
||||||
|
|
||||||
PFX O Y 1
|
|
||||||
PFX O 0 out [a-z]
|
|
||||||
|
|
||||||
SFX S Y 2
|
|
||||||
SFX S 0 s [^s]
|
|
||||||
SFX S 0 es s
|
|
||||||
|
|
||||||
SFX N N 3
|
|
||||||
SFX N 0 en [^n]
|
|
||||||
SFX N 0 nen n
|
|
||||||
SFX N 0 n .
|
|
||||||
|
|
||||||
REP 3
|
|
||||||
REP g ch
|
|
||||||
REP ch g
|
|
||||||
REP svp s.v.p.
|
|
||||||
|
|
||||||
MAP 9
|
|
||||||
MAP aàáâãäå
|
|
||||||
MAP eèéêë
|
|
||||||
MAP iìíîï
|
|
||||||
MAP oòóôõö
|
|
||||||
MAP uùúûü
|
|
||||||
MAP nñ
|
|
||||||
MAP cç
|
|
||||||
MAP yÿý
|
|
||||||
MAP sß
|
|
||||||
2affend
|
|
||||||
|
|
||||||
1dicstart
|
|
||||||
123456
|
|
||||||
test/NO
|
|
||||||
# comment
|
|
||||||
wrong
|
|
||||||
Comment
|
|
||||||
OK
|
|
||||||
uk
|
|
||||||
put/ISO
|
|
||||||
the end
|
|
||||||
deol
|
|
||||||
déôr
|
|
||||||
1dicend
|
|
||||||
|
|
||||||
addstart
|
|
||||||
/regions=usgbnz
|
|
||||||
elequint/2
|
|
||||||
elekwint/3
|
|
||||||
addend
|
|
||||||
|
|
||||||
1good: wrong OK puts. Test the end
|
|
||||||
bad: inputs comment ok Ok. test déôl end the
|
|
||||||
badend
|
|
||||||
|
|
||||||
2good: puts
|
|
||||||
bad: inputs comment ok Ok end the. test déôl
|
|
||||||
badend
|
|
||||||
|
|
||||||
Test rules for compounding.
|
|
||||||
|
|
||||||
3affstart
|
|
||||||
SET ISO8859-1
|
|
||||||
|
|
||||||
COMPOUNDMIN 3
|
|
||||||
COMPOUNDRULE m*
|
|
||||||
NEEDCOMPOUND x
|
|
||||||
3affend
|
|
||||||
|
|
||||||
3dicstart
|
|
||||||
1234
|
|
||||||
foo/m
|
|
||||||
bar/mx
|
|
||||||
mï/m
|
|
||||||
la/mx
|
|
||||||
3dicend
|
|
||||||
|
|
||||||
3good: foo mï foobar foofoobar barfoo barbarfoo
|
|
||||||
bad: bar la foomï barmï mïfoo mïbar mïmï lala mïla lamï foola labar
|
|
||||||
badend
|
|
||||||
|
|
||||||
|
|
||||||
Tests for compounding.
|
|
||||||
|
|
||||||
4affstart
|
|
||||||
SET ISO8859-1
|
|
||||||
|
|
||||||
FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
|
|
||||||
|
|
||||||
COMPOUNDRULE m+
|
|
||||||
COMPOUNDRULE sm*e
|
|
||||||
COMPOUNDRULE sm+
|
|
||||||
COMPOUNDMIN 3
|
|
||||||
COMPOUNDWORDMAX 3
|
|
||||||
COMPOUNDFORBIDFLAG t
|
|
||||||
|
|
||||||
COMPOUNDSYLMAX 5
|
|
||||||
SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
|
|
||||||
|
|
||||||
MAP 9
|
|
||||||
MAP aàáâãäå
|
|
||||||
MAP eèéêë
|
|
||||||
MAP iìíîï
|
|
||||||
MAP oòóôõö
|
|
||||||
MAP uùúûü
|
|
||||||
MAP nñ
|
|
||||||
MAP cç
|
|
||||||
MAP yÿý
|
|
||||||
MAP sß
|
|
||||||
|
|
||||||
NEEDAFFIX x
|
|
||||||
|
|
||||||
PFXPOSTPONE
|
|
||||||
|
|
||||||
MIDWORD '-
|
|
||||||
|
|
||||||
SFX q N 1
|
|
||||||
SFX q 0 -ok .
|
|
||||||
|
|
||||||
SFX a Y 2
|
|
||||||
SFX a 0 s .
|
|
||||||
SFX a 0 ize/t .
|
|
||||||
|
|
||||||
PFX p N 1
|
|
||||||
PFX p 0 pre .
|
|
||||||
|
|
||||||
PFX P N 1
|
|
||||||
PFX P 0 nou .
|
|
||||||
4affend
|
|
||||||
|
|
||||||
4dicstart
|
|
||||||
1234
|
|
||||||
word/mP
|
|
||||||
util/am
|
|
||||||
pro/xq
|
|
||||||
tomato/m
|
|
||||||
bork/mp
|
|
||||||
start/s
|
|
||||||
end/e
|
|
||||||
4dicend
|
|
||||||
|
|
||||||
4good: word util bork prebork start end wordutil wordutils pro-ok
|
|
||||||
bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
|
|
||||||
tomato tomatotomato startend startword startwordword startwordend
|
|
||||||
startwordwordend startwordwordwordend prebork preborkbork
|
|
||||||
preborkborkbork
|
|
||||||
nouword
|
|
||||||
bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
|
|
||||||
endstart endend startstart wordend wordstart
|
|
||||||
preborkprebork preborkpreborkbork
|
|
||||||
startwordwordwordwordend borkpreborkpreborkbork
|
|
||||||
utilsbork startnouword
|
|
||||||
badend
|
|
||||||
|
|
||||||
test2:
|
|
||||||
elequint test elekwint test elekwent asdf
|
|
||||||
|
|
||||||
Test affix flags with two characters
|
|
||||||
|
|
||||||
5affstart
|
|
||||||
SET ISO8859-1
|
|
||||||
|
|
||||||
FLAG long
|
|
||||||
|
|
||||||
NEEDAFFIX !!
|
|
||||||
|
|
||||||
COMPOUNDRULE ssmm*ee
|
|
||||||
|
|
||||||
NEEDCOMPOUND xx
|
|
||||||
COMPOUNDPERMITFLAG pp
|
|
||||||
|
|
||||||
SFX 13 Y 1
|
|
||||||
SFX 13 0 bork .
|
|
||||||
|
|
||||||
SFX a1 Y 1
|
|
||||||
SFX a1 0 a1 .
|
|
||||||
|
|
||||||
SFX aé Y 1
|
|
||||||
SFX aé 0 aé .
|
|
||||||
|
|
||||||
PFX zz Y 1
|
|
||||||
PFX zz 0 pre/pp .
|
|
||||||
|
|
||||||
PFX yy Y 1
|
|
||||||
PFX yy 0 nou .
|
|
||||||
5affend
|
|
||||||
|
|
||||||
5dicstart
|
|
||||||
1234
|
|
||||||
foo/a1aé!!
|
|
||||||
bar/zz13ee
|
|
||||||
start/ss
|
|
||||||
end/eeyy
|
|
||||||
middle/mmxx
|
|
||||||
5dicend
|
|
||||||
|
|
||||||
5good: fooa1 fooaé bar prebar barbork prebarbork startprebar
|
|
||||||
start end startend startmiddleend nouend
|
|
||||||
bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
|
|
||||||
startprobar startnouend
|
|
||||||
badend
|
|
||||||
|
|
||||||
6affstart
|
|
||||||
SET ISO8859-1
|
|
||||||
|
|
||||||
FLAG caplong
|
|
||||||
|
|
||||||
NEEDAFFIX A!
|
|
||||||
|
|
||||||
COMPOUNDRULE sMm*Ee
|
|
||||||
|
|
||||||
NEEDCOMPOUND Xx
|
|
||||||
|
|
||||||
COMPOUNDPERMITFLAG p
|
|
||||||
|
|
||||||
SFX N3 Y 1
|
|
||||||
SFX N3 0 bork .
|
|
||||||
|
|
||||||
SFX A1 Y 1
|
|
||||||
SFX A1 0 a1 .
|
|
||||||
|
|
||||||
SFX Aé Y 1
|
|
||||||
SFX Aé 0 aé .
|
|
||||||
|
|
||||||
PFX Zz Y 1
|
|
||||||
PFX Zz 0 pre/p .
|
|
||||||
6affend
|
|
||||||
|
|
||||||
6dicstart
|
|
||||||
1234
|
|
||||||
mee/A1AéA!
|
|
||||||
bar/ZzN3Ee
|
|
||||||
lead/s
|
|
||||||
end/Ee
|
|
||||||
middle/MmXx
|
|
||||||
6dicend
|
|
||||||
|
|
||||||
6good: meea1 meeaé bar prebar barbork prebarbork leadprebar
|
|
||||||
lead end leadend leadmiddleend
|
|
||||||
bad: mee meea2 prabar probarbirk middle leadmiddle middleend endlead
|
|
||||||
leadprobar
|
|
||||||
badend
|
|
||||||
|
|
||||||
7affstart
|
|
||||||
SET ISO8859-1
|
|
||||||
|
|
||||||
FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
|
||||||
UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
|
|
||||||
|
|
||||||
FLAG num
|
|
||||||
|
|
||||||
NEEDAFFIX 9999
|
|
||||||
|
|
||||||
COMPOUNDRULE 2,77*123
|
|
||||||
|
|
||||||
NEEDCOMPOUND 1
|
|
||||||
COMPOUNDPERMITFLAG 432
|
|
||||||
|
|
||||||
SFX 61003 Y 1
|
|
||||||
SFX 61003 0 meat .
|
|
||||||
|
|
||||||
SFX 391 Y 1
|
|
||||||
SFX 391 0 a1 .
|
|
||||||
|
|
||||||
SFX 111 Y 1
|
|
||||||
SFX 111 0 aé .
|
|
||||||
|
|
||||||
PFX 17 Y 1
|
|
||||||
PFX 17 0 pre/432 .
|
|
||||||
7affend
|
|
||||||
|
|
||||||
7dicstart
|
|
||||||
1234
|
|
||||||
mee/391,111,9999
|
|
||||||
bar/17,61003,123
|
|
||||||
lead/2
|
|
||||||
tail/123
|
|
||||||
middle/77,1
|
|
||||||
7dicend
|
|
||||||
|
|
||||||
7good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar
|
|
||||||
lead tail leadtail leadmiddletail
|
|
||||||
bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead
|
|
||||||
leadprobar
|
|
||||||
badend
|
|
||||||
|
|
||||||
test output:
|
|
@ -1,270 +0,0 @@
|
|||||||
test output:
|
|
||||||
|
|
||||||
test 1-1
|
|
||||||
# file: Xtest.utf-8.spl
|
|
||||||
Comment
|
|
||||||
deol
|
|
||||||
déôr
|
|
||||||
input
|
|
||||||
OK
|
|
||||||
output
|
|
||||||
outputs
|
|
||||||
outtest
|
|
||||||
put
|
|
||||||
puts
|
|
||||||
test
|
|
||||||
testen
|
|
||||||
testn
|
|
||||||
the end
|
|
||||||
uk
|
|
||||||
wrong
|
|
||||||
-------
|
|
||||||
bad
|
|
||||||
['put', 'uk', 'OK']
|
|
||||||
inputs
|
|
||||||
['input', 'puts', 'outputs']
|
|
||||||
comment
|
|
||||||
['Comment', 'outtest', 'the end']
|
|
||||||
ok
|
|
||||||
['OK', 'uk', 'put']
|
|
||||||
Ok
|
|
||||||
['OK', 'Uk', 'Put']
|
|
||||||
test
|
|
||||||
['Test', 'testn', 'testen']
|
|
||||||
déôl
|
|
||||||
['deol', 'déôr', 'test']
|
|
||||||
end
|
|
||||||
['put', 'uk', 'test']
|
|
||||||
the
|
|
||||||
['put', 'uk', 'test']
|
|
||||||
gebletegek
|
|
||||||
kepereneven
|
|
||||||
everles gesvets etele
|
|
||||||
kbltykk
|
|
||||||
kprnfn
|
|
||||||
*fls kswts tl
|
|
||||||
elekwent
|
|
||||||
elequint
|
|
||||||
elekwint
|
|
||||||
elekwint
|
|
||||||
elekwent
|
|
||||||
elequint
|
|
||||||
elekwent
|
|
||||||
elequint
|
|
||||||
elekwint
|
|
||||||
|
|
||||||
test 2-1
|
|
||||||
# file: Xtest.utf-8.spl
|
|
||||||
Comment
|
|
||||||
deol
|
|
||||||
déôr
|
|
||||||
OK
|
|
||||||
put
|
|
||||||
input
|
|
||||||
output
|
|
||||||
puts
|
|
||||||
outputs
|
|
||||||
test
|
|
||||||
outtest
|
|
||||||
testen
|
|
||||||
testn
|
|
||||||
the end
|
|
||||||
uk
|
|
||||||
wrong
|
|
||||||
-------
|
|
||||||
bad
|
|
||||||
['put', 'uk', 'OK']
|
|
||||||
inputs
|
|
||||||
['input', 'puts', 'outputs']
|
|
||||||
comment
|
|
||||||
['Comment']
|
|
||||||
ok
|
|
||||||
['OK', 'uk', 'put']
|
|
||||||
Ok
|
|
||||||
['OK', 'Uk', 'Put']
|
|
||||||
end
|
|
||||||
['put', 'uk', 'deol']
|
|
||||||
the
|
|
||||||
['put', 'uk', 'test']
|
|
||||||
test
|
|
||||||
['Test', 'testn', 'testen']
|
|
||||||
déôl
|
|
||||||
['deol', 'déôr', 'test']
|
|
||||||
|
|
||||||
test 3-3
|
|
||||||
# file: Xtest.utf-8.spl
|
|
||||||
foo
|
|
||||||
mï
|
|
||||||
-------
|
|
||||||
bad
|
|
||||||
['foo', 'mï']
|
|
||||||
bar
|
|
||||||
['barfoo', 'foobar', 'foo']
|
|
||||||
la
|
|
||||||
['mï', 'foo']
|
|
||||||
foomï
|
|
||||||
['foo mï', 'foo', 'foofoo']
|
|
||||||
barmï
|
|
||||||
['barfoo', 'mï', 'barbar']
|
|
||||||
mïfoo
|
|
||||||
['mï foo', 'foo', 'foofoo']
|
|
||||||
mïbar
|
|
||||||
['foobar', 'barbar', 'mï']
|
|
||||||
mïmï
|
|
||||||
['mï mï', 'mï']
|
|
||||||
lala
|
|
||||||
[]
|
|
||||||
mïla
|
|
||||||
['mï', 'mï mï']
|
|
||||||
lamï
|
|
||||||
['mï', 'mï mï']
|
|
||||||
foola
|
|
||||||
['foo', 'foobar', 'foofoo']
|
|
||||||
labar
|
|
||||||
['barbar', 'foobar']
|
|
||||||
|
|
||||||
test 4-4
|
|
||||||
# file: Xtest.utf-8.spl
|
|
||||||
bork
|
|
||||||
prebork
|
|
||||||
end
|
|
||||||
pro-ok
|
|
||||||
start
|
|
||||||
tomato
|
|
||||||
util
|
|
||||||
utilize
|
|
||||||
utils
|
|
||||||
word
|
|
||||||
nouword
|
|
||||||
-------
|
|
||||||
bad
|
|
||||||
['end', 'bork', 'word']
|
|
||||||
wordutilize
|
|
||||||
['word utilize', 'wordutils', 'wordutil']
|
|
||||||
pro
|
|
||||||
['bork', 'word', 'end']
|
|
||||||
borkborkborkborkborkbork
|
|
||||||
['bork borkborkborkborkbork', 'borkbork borkborkborkbork', 'borkborkbork borkborkbork']
|
|
||||||
tomatotomatotomato
|
|
||||||
['tomato tomatotomato', 'tomatotomato tomato', 'tomato tomato tomato']
|
|
||||||
endstart
|
|
||||||
['end start', 'start']
|
|
||||||
endend
|
|
||||||
['end end', 'end']
|
|
||||||
startstart
|
|
||||||
['start start']
|
|
||||||
wordend
|
|
||||||
['word end', 'word', 'wordword']
|
|
||||||
wordstart
|
|
||||||
['word start', 'bork start']
|
|
||||||
preborkprebork
|
|
||||||
['prebork prebork', 'preborkbork', 'preborkborkbork']
|
|
||||||
preborkpreborkbork
|
|
||||||
['prebork preborkbork', 'preborkborkbork', 'preborkborkborkbork']
|
|
||||||
startwordwordwordwordend
|
|
||||||
['startwordwordwordword end', 'startwordwordwordword', 'start wordwordwordword end']
|
|
||||||
borkpreborkpreborkbork
|
|
||||||
['bork preborkpreborkbork', 'bork prebork preborkbork', 'bork preborkprebork bork']
|
|
||||||
utilsbork
|
|
||||||
['utilbork', 'utils bork', 'util bork']
|
|
||||||
startnouword
|
|
||||||
['start nouword', 'startword', 'startborkword']
|
|
||||||
|
|
||||||
test 5-5
|
|
||||||
# file: Xtest.utf-8.spl
|
|
||||||
bar
|
|
||||||
barbork
|
|
||||||
end
|
|
||||||
fooa1
|
|
||||||
fooaé
|
|
||||||
nouend
|
|
||||||
prebar
|
|
||||||
prebarbork
|
|
||||||
start
|
|
||||||
-------
|
|
||||||
bad
|
|
||||||
['bar', 'end', 'fooa1']
|
|
||||||
foo
|
|
||||||
['fooa1', 'fooaé', 'bar']
|
|
||||||
fooa2
|
|
||||||
['fooa1', 'fooaé', 'bar']
|
|
||||||
prabar
|
|
||||||
['prebar', 'bar', 'bar bar']
|
|
||||||
probarbirk
|
|
||||||
['prebarbork']
|
|
||||||
middle
|
|
||||||
[]
|
|
||||||
startmiddle
|
|
||||||
['startmiddleend', 'startmiddlebar']
|
|
||||||
middleend
|
|
||||||
[]
|
|
||||||
endstart
|
|
||||||
['end start', 'start']
|
|
||||||
startprobar
|
|
||||||
['startprebar', 'start prebar', 'startbar']
|
|
||||||
startnouend
|
|
||||||
['start nouend', 'startend']
|
|
||||||
|
|
||||||
test 6-6
|
|
||||||
# file: Xtest.utf-8.spl
|
|
||||||
bar
|
|
||||||
barbork
|
|
||||||
end
|
|
||||||
lead
|
|
||||||
meea1
|
|
||||||
meeaé
|
|
||||||
prebar
|
|
||||||
prebarbork
|
|
||||||
-------
|
|
||||||
bad
|
|
||||||
['bar', 'end', 'lead']
|
|
||||||
mee
|
|
||||||
['meea1', 'meeaé', 'bar']
|
|
||||||
meea2
|
|
||||||
['meea1', 'meeaé', 'lead']
|
|
||||||
prabar
|
|
||||||
['prebar', 'bar', 'leadbar']
|
|
||||||
probarbirk
|
|
||||||
['prebarbork']
|
|
||||||
middle
|
|
||||||
[]
|
|
||||||
leadmiddle
|
|
||||||
['leadmiddleend', 'leadmiddlebar']
|
|
||||||
middleend
|
|
||||||
[]
|
|
||||||
endlead
|
|
||||||
['end lead', 'lead', 'end end']
|
|
||||||
leadprobar
|
|
||||||
['leadprebar', 'lead prebar', 'leadbar']
|
|
||||||
|
|
||||||
test 7-7
|
|
||||||
# file: Xtest.utf-8.spl
|
|
||||||
bar
|
|
||||||
barmeat
|
|
||||||
lead
|
|
||||||
meea1
|
|
||||||
meeaé
|
|
||||||
prebar
|
|
||||||
prebarmeat
|
|
||||||
tail
|
|
||||||
-------
|
|
||||||
bad
|
|
||||||
['bar', 'lead', 'tail']
|
|
||||||
mee
|
|
||||||
['meea1', 'meeaé', 'bar']
|
|
||||||
meea2
|
|
||||||
['meea1', 'meeaé', 'lead']
|
|
||||||
prabar
|
|
||||||
['prebar', 'bar', 'leadbar']
|
|
||||||
probarmaat
|
|
||||||
['prebarmeat']
|
|
||||||
middle
|
|
||||||
[]
|
|
||||||
leadmiddle
|
|
||||||
['leadmiddlebar']
|
|
||||||
middletail
|
|
||||||
[]
|
|
||||||
taillead
|
|
||||||
['tail lead', 'tail']
|
|
||||||
leadprobar
|
|
||||||
['leadprebar', 'lead prebar', 'leadbar']
|
|
768
src/testdir/test_spell_utf8.vim
Normal file
768
src/testdir/test_spell_utf8.vim
Normal file
@ -0,0 +1,768 @@
|
|||||||
|
" Test for spell checking with 'encoding' set to utf-8
|
||||||
|
|
||||||
|
source check.vim
|
||||||
|
CheckFeature spell
|
||||||
|
|
||||||
|
scriptencoding utf-8
|
||||||
|
|
||||||
|
func TearDown()
|
||||||
|
set nospell
|
||||||
|
call delete('Xtest.aff')
|
||||||
|
call delete('Xtest.dic')
|
||||||
|
call delete('Xtest.utf-8.add')
|
||||||
|
call delete('Xtest.utf-8.add.spl')
|
||||||
|
call delete('Xtest.utf-8.spl')
|
||||||
|
call delete('Xtest.utf-8.sug')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
let g:test_data_aff1 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ",
|
||||||
|
\"",
|
||||||
|
\"FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ",
|
||||||
|
\"LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ",
|
||||||
|
\"UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ",
|
||||||
|
\"",
|
||||||
|
\"SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xDF\xFF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xBF",
|
||||||
|
\"SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?",
|
||||||
|
\"",
|
||||||
|
\"MIDWORD\t'-",
|
||||||
|
\"",
|
||||||
|
\"KEP =",
|
||||||
|
\"RAR ?",
|
||||||
|
\"BAD !",
|
||||||
|
\"",
|
||||||
|
\"PFX I N 1",
|
||||||
|
\"PFX I 0 in .",
|
||||||
|
\"",
|
||||||
|
\"PFX O Y 1",
|
||||||
|
\"PFX O 0 out .",
|
||||||
|
\"",
|
||||||
|
\"SFX S Y 2",
|
||||||
|
\"SFX S 0 s [^s]",
|
||||||
|
\"SFX S 0 es s",
|
||||||
|
\"",
|
||||||
|
\"SFX N N 3",
|
||||||
|
\"SFX N 0 en [^n]",
|
||||||
|
\"SFX N 0 nen n",
|
||||||
|
\"SFX N 0 n .",
|
||||||
|
\"",
|
||||||
|
\"REP 3",
|
||||||
|
\"REP g ch",
|
||||||
|
\"REP ch g",
|
||||||
|
\"REP svp s.v.p.",
|
||||||
|
\"",
|
||||||
|
\"MAP 9",
|
||||||
|
\"MAP a\xE0\xE1\xE2\xE3\xE4\xE5",
|
||||||
|
\"MAP e\xE8\xE9\xEA\xEB",
|
||||||
|
\"MAP i\xEC\xED\xEE\xEF",
|
||||||
|
\"MAP o\xF2\xF3\xF4\xF5\xF6",
|
||||||
|
\"MAP u\xF9\xFA\xFB\xFC",
|
||||||
|
\"MAP n\xF1",
|
||||||
|
\"MAP c\xE7",
|
||||||
|
\"MAP y\xFF\xFD",
|
||||||
|
\"MAP s\xDF"
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic1 = [
|
||||||
|
\"123456",
|
||||||
|
\"test/NO",
|
||||||
|
\"# comment",
|
||||||
|
\"wrong",
|
||||||
|
\"Comment",
|
||||||
|
\"OK",
|
||||||
|
\"uk",
|
||||||
|
\"put/ISO",
|
||||||
|
\"the end",
|
||||||
|
\"deol",
|
||||||
|
\"d\xE9\xF4r",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff2 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"",
|
||||||
|
\"FOL \xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xDF\xFF",
|
||||||
|
\"LOW \xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xDF\xFF",
|
||||||
|
\"UPP \xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xFF",
|
||||||
|
\"",
|
||||||
|
\"PFXPOSTPONE",
|
||||||
|
\"",
|
||||||
|
\"MIDWORD\t'-",
|
||||||
|
\"",
|
||||||
|
\"KEP =",
|
||||||
|
\"RAR ?",
|
||||||
|
\"BAD !",
|
||||||
|
\"",
|
||||||
|
\"PFX I N 1",
|
||||||
|
\"PFX I 0 in .",
|
||||||
|
\"",
|
||||||
|
\"PFX O Y 1",
|
||||||
|
\"PFX O 0 out [a-z]",
|
||||||
|
\"",
|
||||||
|
\"SFX S Y 2",
|
||||||
|
\"SFX S 0 s [^s]",
|
||||||
|
\"SFX S 0 es s",
|
||||||
|
\"",
|
||||||
|
\"SFX N N 3",
|
||||||
|
\"SFX N 0 en [^n]",
|
||||||
|
\"SFX N 0 nen n",
|
||||||
|
\"SFX N 0 n .",
|
||||||
|
\"",
|
||||||
|
\"REP 3",
|
||||||
|
\"REP g ch",
|
||||||
|
\"REP ch g",
|
||||||
|
\"REP svp s.v.p.",
|
||||||
|
\"",
|
||||||
|
\"MAP 9",
|
||||||
|
\"MAP a\xE0\xE1\xE2\xE3\xE4\xE5",
|
||||||
|
\"MAP e\xE8\xE9\xEA\xEB",
|
||||||
|
\"MAP i\xEC\xED\xEE\xEF",
|
||||||
|
\"MAP o\xF2\xF3\xF4\xF5\xF6",
|
||||||
|
\"MAP u\xF9\xFA\xFB\xFC",
|
||||||
|
\"MAP n\xF1",
|
||||||
|
\"MAP c\xE7",
|
||||||
|
\"MAP y\xFF\xFD",
|
||||||
|
\"MAP s\xDF",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff3 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"",
|
||||||
|
\"COMPOUNDMIN 3",
|
||||||
|
\"COMPOUNDRULE m*",
|
||||||
|
\"NEEDCOMPOUND x",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic3 = [
|
||||||
|
\"1234",
|
||||||
|
\"foo/m",
|
||||||
|
\"bar/mx",
|
||||||
|
\"m\xEF/m",
|
||||||
|
\"la/mx",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff4 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"",
|
||||||
|
\"FOL \xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xDF\xFF",
|
||||||
|
\"LOW \xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xDF\xFF",
|
||||||
|
\"UPP \xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xFF",
|
||||||
|
\"",
|
||||||
|
\"COMPOUNDRULE m+",
|
||||||
|
\"COMPOUNDRULE sm*e",
|
||||||
|
\"COMPOUNDRULE sm+",
|
||||||
|
\"COMPOUNDMIN 3",
|
||||||
|
\"COMPOUNDWORDMAX 3",
|
||||||
|
\"COMPOUNDFORBIDFLAG t",
|
||||||
|
\"",
|
||||||
|
\"COMPOUNDSYLMAX 5",
|
||||||
|
\"SYLLABLE a\xE1e\xE9i\xEDo\xF3\xF6\xF5u\xFA\xFC\xFBy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui",
|
||||||
|
\"",
|
||||||
|
\"MAP 9",
|
||||||
|
\"MAP a\xE0\xE1\xE2\xE3\xE4\xE5",
|
||||||
|
\"MAP e\xE8\xE9\xEA\xEB",
|
||||||
|
\"MAP i\xEC\xED\xEE\xEF",
|
||||||
|
\"MAP o\xF2\xF3\xF4\xF5\xF6",
|
||||||
|
\"MAP u\xF9\xFA\xFB\xFC",
|
||||||
|
\"MAP n\xF1",
|
||||||
|
\"MAP c\xE7",
|
||||||
|
\"MAP y\xFF\xFD",
|
||||||
|
\"MAP s\xDF",
|
||||||
|
\"",
|
||||||
|
\"NEEDAFFIX x",
|
||||||
|
\"",
|
||||||
|
\"PFXPOSTPONE",
|
||||||
|
\"",
|
||||||
|
\"MIDWORD '-",
|
||||||
|
\"",
|
||||||
|
\"SFX q N 1",
|
||||||
|
\"SFX q 0 -ok .",
|
||||||
|
\"",
|
||||||
|
\"SFX a Y 2",
|
||||||
|
\"SFX a 0 s .",
|
||||||
|
\"SFX a 0 ize/t .",
|
||||||
|
\"",
|
||||||
|
\"PFX p N 1",
|
||||||
|
\"PFX p 0 pre .",
|
||||||
|
\"",
|
||||||
|
\"PFX P N 1",
|
||||||
|
\"PFX P 0 nou .",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic4 = [
|
||||||
|
\"1234",
|
||||||
|
\"word/mP",
|
||||||
|
\"util/am",
|
||||||
|
\"pro/xq",
|
||||||
|
\"tomato/m",
|
||||||
|
\"bork/mp",
|
||||||
|
\"start/s",
|
||||||
|
\"end/e",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff5 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"",
|
||||||
|
\"FLAG long",
|
||||||
|
\"",
|
||||||
|
\"NEEDAFFIX !!",
|
||||||
|
\"",
|
||||||
|
\"COMPOUNDRULE ssmm*ee",
|
||||||
|
\"",
|
||||||
|
\"NEEDCOMPOUND xx",
|
||||||
|
\"COMPOUNDPERMITFLAG pp",
|
||||||
|
\"",
|
||||||
|
\"SFX 13 Y 1",
|
||||||
|
\"SFX 13 0 bork .",
|
||||||
|
\"",
|
||||||
|
\"SFX a1 Y 1",
|
||||||
|
\"SFX a1 0 a1 .",
|
||||||
|
\"",
|
||||||
|
\"SFX a\xE9 Y 1",
|
||||||
|
\"SFX a\xE9 0 a\xE9 .",
|
||||||
|
\"",
|
||||||
|
\"PFX zz Y 1",
|
||||||
|
\"PFX zz 0 pre/pp .",
|
||||||
|
\"",
|
||||||
|
\"PFX yy Y 1",
|
||||||
|
\"PFX yy 0 nou .",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic5 = [
|
||||||
|
\"1234",
|
||||||
|
\"foo/a1a\xE9!!",
|
||||||
|
\"bar/zz13ee",
|
||||||
|
\"start/ss",
|
||||||
|
\"end/eeyy",
|
||||||
|
\"middle/mmxx",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff6 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"",
|
||||||
|
\"FLAG caplong",
|
||||||
|
\"",
|
||||||
|
\"NEEDAFFIX A!",
|
||||||
|
\"",
|
||||||
|
\"COMPOUNDRULE sMm*Ee",
|
||||||
|
\"",
|
||||||
|
\"NEEDCOMPOUND Xx",
|
||||||
|
\"",
|
||||||
|
\"COMPOUNDPERMITFLAG p",
|
||||||
|
\"",
|
||||||
|
\"SFX N3 Y 1",
|
||||||
|
\"SFX N3 0 bork .",
|
||||||
|
\"",
|
||||||
|
\"SFX A1 Y 1",
|
||||||
|
\"SFX A1 0 a1 .",
|
||||||
|
\"",
|
||||||
|
\"SFX A\xE9 Y 1",
|
||||||
|
\"SFX A\xE9 0 a\xE9 .",
|
||||||
|
\"",
|
||||||
|
\"PFX Zz Y 1",
|
||||||
|
\"PFX Zz 0 pre/p .",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic6 = [
|
||||||
|
\"1234",
|
||||||
|
\"mee/A1A\xE9A!",
|
||||||
|
\"bar/ZzN3Ee",
|
||||||
|
\"lead/s",
|
||||||
|
\"end/Ee",
|
||||||
|
\"middle/MmXx",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff7 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"",
|
||||||
|
\"FLAG num",
|
||||||
|
\"",
|
||||||
|
\"NEEDAFFIX 9999",
|
||||||
|
\"",
|
||||||
|
\"COMPOUNDRULE 2,77*123",
|
||||||
|
\"",
|
||||||
|
\"NEEDCOMPOUND 1",
|
||||||
|
\"COMPOUNDPERMITFLAG 432",
|
||||||
|
\"",
|
||||||
|
\"SFX 61003 Y 1",
|
||||||
|
\"SFX 61003 0 meat .",
|
||||||
|
\"",
|
||||||
|
\"SFX 0 Y 1",
|
||||||
|
\"SFX 0 0 zero .",
|
||||||
|
\"",
|
||||||
|
\"SFX 391 Y 1",
|
||||||
|
\"SFX 391 0 a1 .",
|
||||||
|
\"",
|
||||||
|
\"SFX 111 Y 1",
|
||||||
|
\"SFX 111 0 a\xE9 .",
|
||||||
|
\"",
|
||||||
|
\"PFX 17 Y 1",
|
||||||
|
\"PFX 17 0 pre/432 .",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic7 = [
|
||||||
|
\"1234",
|
||||||
|
\"mee/0,391,111,9999",
|
||||||
|
\"bar/17,61003,123",
|
||||||
|
\"lead/2",
|
||||||
|
\"tail/123",
|
||||||
|
\"middle/77,1",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff8 = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"",
|
||||||
|
\"NOSPLITSUGS",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic8 = [
|
||||||
|
\"1234",
|
||||||
|
\"foo",
|
||||||
|
\"bar",
|
||||||
|
\"faabar",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff9 = [
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic9 = [
|
||||||
|
\"1234",
|
||||||
|
\"foo",
|
||||||
|
\"bar",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff10 = [
|
||||||
|
\"COMPOUNDRULE se",
|
||||||
|
\"COMPOUNDPERMITFLAG p",
|
||||||
|
\"",
|
||||||
|
\"SFX A Y 1",
|
||||||
|
\"SFX A 0 able/Mp .",
|
||||||
|
\"",
|
||||||
|
\"SFX M Y 1",
|
||||||
|
\"SFX M 0 s .",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_dic10 = [
|
||||||
|
\"1234",
|
||||||
|
\"drink/As",
|
||||||
|
\"table/e",
|
||||||
|
\ ]
|
||||||
|
let g:test_data_aff_sal = [
|
||||||
|
\"SET ISO8859-1",
|
||||||
|
\"TRY esianrtolcdugmphbyfvkwjkqxz-\xEB\xE9\xE8\xEA\xEF\xEE\xE4\xE0\xE2\xF6\xFC\xFB'ESIANRTOLCDUGMPHBYFVKWJKQXZ",
|
||||||
|
\"",
|
||||||
|
\"FOL \xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xDF\xFF",
|
||||||
|
\"LOW \xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xDF\xFF",
|
||||||
|
\"UPP \xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xFF",
|
||||||
|
\"",
|
||||||
|
\"MIDWORD\t'-",
|
||||||
|
\"",
|
||||||
|
\"KEP =",
|
||||||
|
\"RAR ?",
|
||||||
|
\"BAD !",
|
||||||
|
\"",
|
||||||
|
\"PFX I N 1",
|
||||||
|
\"PFX I 0 in .",
|
||||||
|
\"",
|
||||||
|
\"PFX O Y 1",
|
||||||
|
\"PFX O 0 out .",
|
||||||
|
\"",
|
||||||
|
\"SFX S Y 2",
|
||||||
|
\"SFX S 0 s [^s]",
|
||||||
|
\"SFX S 0 es s",
|
||||||
|
\"",
|
||||||
|
\"SFX N N 3",
|
||||||
|
\"SFX N 0 en [^n]",
|
||||||
|
\"SFX N 0 nen n",
|
||||||
|
\"SFX N 0 n .",
|
||||||
|
\"",
|
||||||
|
\"REP 3",
|
||||||
|
\"REP g ch",
|
||||||
|
\"REP ch g",
|
||||||
|
\"REP svp s.v.p.",
|
||||||
|
\"",
|
||||||
|
\"MAP 9",
|
||||||
|
\"MAP a\xE0\xE1\xE2\xE3\xE4\xE5",
|
||||||
|
\"MAP e\xE8\xE9\xEA\xEB",
|
||||||
|
\"MAP i\xEC\xED\xEE\xEF",
|
||||||
|
\"MAP o\xF2\xF3\xF4\xF5\xF6",
|
||||||
|
\"MAP u\xF9\xFA\xFB\xFC",
|
||||||
|
\"MAP n\xF1",
|
||||||
|
\"MAP c\xE7",
|
||||||
|
\"MAP y\xFF\xFD",
|
||||||
|
\"MAP s\xDF",
|
||||||
|
\"",
|
||||||
|
\"SAL AH(AEIOUY)-^ *H",
|
||||||
|
\"SAL AR(AEIOUY)-^ *R",
|
||||||
|
\"SAL A(HR)^ *",
|
||||||
|
\"SAL A^ *",
|
||||||
|
\"SAL AH(AEIOUY)- H",
|
||||||
|
\"SAL AR(AEIOUY)- R",
|
||||||
|
\"SAL A(HR) _",
|
||||||
|
\"SAL \xC0^ *",
|
||||||
|
\"SAL \xC5^ *",
|
||||||
|
\"SAL BB- _",
|
||||||
|
\"SAL B B",
|
||||||
|
\"SAL CQ- _",
|
||||||
|
\"SAL CIA X",
|
||||||
|
\"SAL CH X",
|
||||||
|
\"SAL C(EIY)- S",
|
||||||
|
\"SAL CK K",
|
||||||
|
\"SAL COUGH^ KF",
|
||||||
|
\"SAL CC< C",
|
||||||
|
\"SAL C K",
|
||||||
|
\"SAL DG(EIY) K",
|
||||||
|
\"SAL DD- _",
|
||||||
|
\"SAL D T",
|
||||||
|
\"SAL \xC9< E",
|
||||||
|
\"SAL EH(AEIOUY)-^ *H",
|
||||||
|
\"SAL ER(AEIOUY)-^ *R",
|
||||||
|
\"SAL E(HR)^ *",
|
||||||
|
\"SAL ENOUGH^$ *NF",
|
||||||
|
\"SAL E^ *",
|
||||||
|
\"SAL EH(AEIOUY)- H",
|
||||||
|
\"SAL ER(AEIOUY)- R",
|
||||||
|
\"SAL E(HR) _",
|
||||||
|
\"SAL FF- _",
|
||||||
|
\"SAL F F",
|
||||||
|
\"SAL GN^ N",
|
||||||
|
\"SAL GN$ N",
|
||||||
|
\"SAL GNS$ NS",
|
||||||
|
\"SAL GNED$ N",
|
||||||
|
\"SAL GH(AEIOUY)- K",
|
||||||
|
\"SAL GH _",
|
||||||
|
\"SAL GG9 K",
|
||||||
|
\"SAL G K",
|
||||||
|
\"SAL H H",
|
||||||
|
\"SAL IH(AEIOUY)-^ *H",
|
||||||
|
\"SAL IR(AEIOUY)-^ *R",
|
||||||
|
\"SAL I(HR)^ *",
|
||||||
|
\"SAL I^ *",
|
||||||
|
\"SAL ING6 N",
|
||||||
|
\"SAL IH(AEIOUY)- H",
|
||||||
|
\"SAL IR(AEIOUY)- R",
|
||||||
|
\"SAL I(HR) _",
|
||||||
|
\"SAL J K",
|
||||||
|
\"SAL KN^ N",
|
||||||
|
\"SAL KK- _",
|
||||||
|
\"SAL K K",
|
||||||
|
\"SAL LAUGH^ LF",
|
||||||
|
\"SAL LL- _",
|
||||||
|
\"SAL L L",
|
||||||
|
\"SAL MB$ M",
|
||||||
|
\"SAL MM M",
|
||||||
|
\"SAL M M",
|
||||||
|
\"SAL NN- _",
|
||||||
|
\"SAL N N",
|
||||||
|
\"SAL OH(AEIOUY)-^ *H",
|
||||||
|
\"SAL OR(AEIOUY)-^ *R",
|
||||||
|
\"SAL O(HR)^ *",
|
||||||
|
\"SAL O^ *",
|
||||||
|
\"SAL OH(AEIOUY)- H",
|
||||||
|
\"SAL OR(AEIOUY)- R",
|
||||||
|
\"SAL O(HR) _",
|
||||||
|
\"SAL PH F",
|
||||||
|
\"SAL PN^ N",
|
||||||
|
\"SAL PP- _",
|
||||||
|
\"SAL P P",
|
||||||
|
\"SAL Q K",
|
||||||
|
\"SAL RH^ R",
|
||||||
|
\"SAL ROUGH^ RF",
|
||||||
|
\"SAL RR- _",
|
||||||
|
\"SAL R R",
|
||||||
|
\"SAL SCH(EOU)- SK",
|
||||||
|
\"SAL SC(IEY)- S",
|
||||||
|
\"SAL SH X",
|
||||||
|
\"SAL SI(AO)- X",
|
||||||
|
\"SAL SS- _",
|
||||||
|
\"SAL S S",
|
||||||
|
\"SAL TI(AO)- X",
|
||||||
|
\"SAL TH @",
|
||||||
|
\"SAL TCH-- _",
|
||||||
|
\"SAL TOUGH^ TF",
|
||||||
|
\"SAL TT- _",
|
||||||
|
\"SAL T T",
|
||||||
|
\"SAL UH(AEIOUY)-^ *H",
|
||||||
|
\"SAL UR(AEIOUY)-^ *R",
|
||||||
|
\"SAL U(HR)^ *",
|
||||||
|
\"SAL U^ *",
|
||||||
|
\"SAL UH(AEIOUY)- H",
|
||||||
|
\"SAL UR(AEIOUY)- R",
|
||||||
|
\"SAL U(HR) _",
|
||||||
|
\"SAL V^ W",
|
||||||
|
\"SAL V F",
|
||||||
|
\"SAL WR^ R",
|
||||||
|
\"SAL WH^ W",
|
||||||
|
\"SAL W(AEIOU)- W",
|
||||||
|
\"SAL X^ S",
|
||||||
|
\"SAL X KS",
|
||||||
|
\"SAL Y(AEIOU)- Y",
|
||||||
|
\"SAL ZZ- _",
|
||||||
|
\"SAL Z S",
|
||||||
|
\ ]
|
||||||
|
|
||||||
|
func LoadAffAndDic(aff_contents, dic_contents)
|
||||||
|
set enc=utf-8
|
||||||
|
set spellfile=
|
||||||
|
call writefile(a:aff_contents, "Xtest.aff")
|
||||||
|
call writefile(a:dic_contents, "Xtest.dic")
|
||||||
|
" Generate a .spl file from a .dic and .aff file.
|
||||||
|
mkspell! Xtest Xtest
|
||||||
|
" use that spell file
|
||||||
|
set spl=Xtest.utf-8.spl spell
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func ListWords()
|
||||||
|
spelldump
|
||||||
|
%yank
|
||||||
|
quit
|
||||||
|
return split(@", "\n")
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func TestGoodBadBase()
|
||||||
|
exe '1;/^good:'
|
||||||
|
normal 0f:]s
|
||||||
|
let prevbad = ''
|
||||||
|
let result = []
|
||||||
|
while 1
|
||||||
|
let [bad, a] = spellbadword()
|
||||||
|
if bad == '' || bad == prevbad || bad == 'badend'
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let prevbad = bad
|
||||||
|
let lst = bad->spellsuggest(3)
|
||||||
|
normal mm
|
||||||
|
|
||||||
|
call add(result, [bad, lst])
|
||||||
|
normal `m]s
|
||||||
|
endwhile
|
||||||
|
return result
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func RunGoodBad(good, bad, expected_words, expected_bad_words)
|
||||||
|
%bwipe!
|
||||||
|
call setline(1, ['', "good: ", a:good, a:bad, " badend "])
|
||||||
|
let words = ListWords()
|
||||||
|
call assert_equal(a:expected_words, words[1:-1])
|
||||||
|
let bad_words = TestGoodBadBase()
|
||||||
|
call assert_equal(a:expected_bad_words, bad_words)
|
||||||
|
%bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func Test_spell_basic()
|
||||||
|
call LoadAffAndDic(g:test_data_aff1, g:test_data_dic1)
|
||||||
|
call RunGoodBad("wrong OK puts. Test the end",
|
||||||
|
\ "bad: inputs comment ok Ok. test d\u00E9\u00F4l end the",
|
||||||
|
\["Comment", "deol", "d\u00E9\u00F4r", "input", "OK", "output", "outputs", "outtest", "put", "puts",
|
||||||
|
\ "test", "testen", "testn", "the end", "uk", "wrong"],
|
||||||
|
\[
|
||||||
|
\ ["bad", ["put", "uk", "OK"]],
|
||||||
|
\ ["inputs", ["input", "puts", "outputs"]],
|
||||||
|
\ ["comment", ["Comment", "outtest", "the end"]],
|
||||||
|
\ ["ok", ["OK", "uk", "put"]],
|
||||||
|
\ ["Ok", ["OK", "Uk", "Put"]],
|
||||||
|
\ ["test", ["Test", "testn", "testen"]],
|
||||||
|
\ ["d\u00E9\u00F4l", ["deol", "d\u00E9\u00F4r", "test"]],
|
||||||
|
\ ["end", ["put", "uk", "test"]],
|
||||||
|
\ ["the", ["put", "uk", "test"]],
|
||||||
|
\ ]
|
||||||
|
\ )
|
||||||
|
|
||||||
|
call assert_equal("gebletegek", soundfold('goobledygoook'))
|
||||||
|
call assert_equal("kepereneven", 'kóopërÿnôven'->soundfold())
|
||||||
|
call assert_equal("everles gesvets etele", soundfold('oeverloos gezwets edale'))
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Postponed prefixes
|
||||||
|
func Test_spell_prefixes()
|
||||||
|
call LoadAffAndDic(g:test_data_aff2, g:test_data_dic1)
|
||||||
|
call RunGoodBad("puts",
|
||||||
|
\ "bad: inputs comment ok Ok end the. test d\u00E9\u00F4l",
|
||||||
|
\ ["Comment", "deol", "d\u00E9\u00F4r", "OK", "put", "input", "output", "puts", "outputs", "test", "outtest", "testen", "testn", "the end", "uk", "wrong"],
|
||||||
|
\ [
|
||||||
|
\ ["bad", ["put", "uk", "OK"]],
|
||||||
|
\ ["inputs", ["input", "puts", "outputs"]],
|
||||||
|
\ ["comment", ["Comment"]],
|
||||||
|
\ ["ok", ["OK", "uk", "put"]],
|
||||||
|
\ ["Ok", ["OK", "Uk", "Put"]],
|
||||||
|
\ ["end", ["put", "uk", "deol"]],
|
||||||
|
\ ["the", ["put", "uk", "test"]],
|
||||||
|
\ ["test", ["Test", "testn", "testen"]],
|
||||||
|
\ ["d\u00E9\u00F4l", ["deol", "d\u00E9\u00F4r", "test"]],
|
||||||
|
\ ])
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
"Compound words
|
||||||
|
func Test_spell_compound()
|
||||||
|
call LoadAffAndDic(g:test_data_aff3, g:test_data_dic3)
|
||||||
|
call RunGoodBad("foo m\u00EF foobar foofoobar barfoo barbarfoo",
|
||||||
|
\ "bad: bar la foom\u00EF barm\u00EF m\u00EFfoo m\u00EFbar m\u00EFm\u00EF lala m\u00EFla lam\u00EF foola labar",
|
||||||
|
\ ["foo", "m\u00EF"],
|
||||||
|
\ [
|
||||||
|
\ ["bad", ["foo", "m\u00EF"]],
|
||||||
|
\ ["bar", ["barfoo", "foobar", "foo"]],
|
||||||
|
\ ["la", ["m\u00EF", "foo"]],
|
||||||
|
\ ["foom\u00EF", ["foo m\u00EF", "foo", "foofoo"]],
|
||||||
|
\ ["barm\u00EF", ["barfoo", "m\u00EF", "barbar"]],
|
||||||
|
\ ["m\u00EFfoo", ["m\u00EF foo", "foo", "foofoo"]],
|
||||||
|
\ ["m\u00EFbar", ["foobar", "barbar", "m\u00EF"]],
|
||||||
|
\ ["m\u00EFm\u00EF", ["m\u00EF m\u00EF", "m\u00EF"]],
|
||||||
|
\ ["lala", []],
|
||||||
|
\ ["m\u00EFla", ["m\u00EF", "m\u00EF m\u00EF"]],
|
||||||
|
\ ["lam\u00EF", ["m\u00EF", "m\u00EF m\u00EF"]],
|
||||||
|
\ ["foola", ["foo", "foobar", "foofoo"]],
|
||||||
|
\ ["labar", ["barbar", "foobar"]],
|
||||||
|
\ ])
|
||||||
|
|
||||||
|
call LoadAffAndDic(g:test_data_aff4, g:test_data_dic4)
|
||||||
|
call RunGoodBad("word util bork prebork start end wordutil wordutils pro-ok bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork tomato tomatotomato startend startword startwordword startwordend startwordwordend startwordwordwordend prebork preborkbork preborkborkbork nouword",
|
||||||
|
\ "bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato endstart endend startstart wordend wordstart preborkprebork preborkpreborkbork startwordwordwordwordend borkpreborkpreborkbork utilsbork startnouword",
|
||||||
|
\ ["bork", "prebork", "end", "pro-ok", "start", "tomato", "util", "utilize", "utils", "word", "nouword"],
|
||||||
|
\ [
|
||||||
|
\ ["bad", ["end", "bork", "word"]],
|
||||||
|
\ ["wordutilize", ["word utilize", "wordutils", "wordutil"]],
|
||||||
|
\ ["pro", ["bork", "word", "end"]],
|
||||||
|
\ ["borkborkborkborkborkbork", ["bork borkborkborkborkbork", "borkbork borkborkborkbork", "borkborkbork borkborkbork"]],
|
||||||
|
\ ["tomatotomatotomato", ["tomato tomatotomato", "tomatotomato tomato", "tomato tomato tomato"]],
|
||||||
|
\ ["endstart", ["end start", "start"]],
|
||||||
|
\ ["endend", ["end end", "end"]],
|
||||||
|
\ ["startstart", ["start start"]],
|
||||||
|
\ ["wordend", ["word end", "word", "wordword"]],
|
||||||
|
\ ["wordstart", ["word start", "bork start"]],
|
||||||
|
\ ["preborkprebork", ["prebork prebork", "preborkbork", "preborkborkbork"]],
|
||||||
|
\ ["preborkpreborkbork", ["prebork preborkbork", "preborkborkbork", "preborkborkborkbork"]],
|
||||||
|
\ ["startwordwordwordwordend", ["startwordwordwordword end", "startwordwordwordword", "start wordwordwordword end"]],
|
||||||
|
\ ["borkpreborkpreborkbork", ["bork preborkpreborkbork", "bork prebork preborkbork", "bork preborkprebork bork"]],
|
||||||
|
\ ["utilsbork", ["utilbork", "utils bork", "util bork"]],
|
||||||
|
\ ["startnouword", ["start nouword", "startword", "startborkword"]],
|
||||||
|
\ ])
|
||||||
|
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Test affix flags with two characters
|
||||||
|
func Test_spell_affix()
|
||||||
|
call LoadAffAndDic(g:test_data_aff5, g:test_data_dic5)
|
||||||
|
call RunGoodBad("fooa1 fooa\u00E9 bar prebar barbork prebarbork startprebar start end startend startmiddleend nouend",
|
||||||
|
\ "bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart startprobar startnouend",
|
||||||
|
\ ["bar", "barbork", "end", "fooa1", "fooa\u00E9", "nouend", "prebar", "prebarbork", "start"],
|
||||||
|
\ [
|
||||||
|
\ ["bad", ["bar", "end", "fooa1"]],
|
||||||
|
\ ["foo", ["fooa1", "fooa\u00E9", "bar"]],
|
||||||
|
\ ["fooa2", ["fooa1", "fooa\u00E9", "bar"]],
|
||||||
|
\ ["prabar", ["prebar", "bar", "bar bar"]],
|
||||||
|
\ ["probarbirk", ["prebarbork"]],
|
||||||
|
\ ["middle", []],
|
||||||
|
\ ["startmiddle", ["startmiddleend", "startmiddlebar"]],
|
||||||
|
\ ["middleend", []],
|
||||||
|
\ ["endstart", ["end start", "start"]],
|
||||||
|
\ ["startprobar", ["startprebar", "start prebar", "startbar"]],
|
||||||
|
\ ["startnouend", ["start nouend", "startend"]],
|
||||||
|
\ ])
|
||||||
|
|
||||||
|
call LoadAffAndDic(g:test_data_aff6, g:test_data_dic6)
|
||||||
|
call RunGoodBad("meea1 meea\u00E9 bar prebar barbork prebarbork leadprebar lead end leadend leadmiddleend",
|
||||||
|
\ "bad: mee meea2 prabar probarbirk middle leadmiddle middleend endlead leadprobar",
|
||||||
|
\ ["bar", "barbork", "end", "lead", "meea1", "meea\u00E9", "prebar", "prebarbork"],
|
||||||
|
\ [
|
||||||
|
\ ["bad", ["bar", "end", "lead"]],
|
||||||
|
\ ["mee", ["meea1", "meea\u00E9", "bar"]],
|
||||||
|
\ ["meea2", ["meea1", "meea\u00E9", "lead"]],
|
||||||
|
\ ["prabar", ["prebar", "bar", "leadbar"]],
|
||||||
|
\ ["probarbirk", ["prebarbork"]],
|
||||||
|
\ ["middle", []],
|
||||||
|
\ ["leadmiddle", ["leadmiddleend", "leadmiddlebar"]],
|
||||||
|
\ ["middleend", []],
|
||||||
|
\ ["endlead", ["end lead", "lead", "end end"]],
|
||||||
|
\ ["leadprobar", ["leadprebar", "lead prebar", "leadbar"]],
|
||||||
|
\ ])
|
||||||
|
|
||||||
|
call LoadAffAndDic(g:test_data_aff7, g:test_data_dic7)
|
||||||
|
call RunGoodBad("meea1 meezero meea\u00E9 bar prebar barmeat prebarmeat leadprebar lead tail leadtail leadmiddletail",
|
||||||
|
\ "bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead leadprobar",
|
||||||
|
\ ["bar", "barmeat", "lead", "meea1", "meea\u00E9", "meezero", "prebar", "prebarmeat", "tail"],
|
||||||
|
\ [
|
||||||
|
\ ["bad", ["bar", "lead", "tail"]],
|
||||||
|
\ ["mee", ["meea1", "meea\u00E9", "bar"]],
|
||||||
|
\ ["meea2", ["meea1", "meea\u00E9", "lead"]],
|
||||||
|
\ ["prabar", ["prebar", "bar", "leadbar"]],
|
||||||
|
\ ["probarmaat", ["prebarmeat"]],
|
||||||
|
\ ["middle", []],
|
||||||
|
\ ["leadmiddle", ["leadmiddlebar"]],
|
||||||
|
\ ["middletail", []],
|
||||||
|
\ ["taillead", ["tail lead", "tail"]],
|
||||||
|
\ ["leadprobar", ["leadprebar", "lead prebar", "leadbar"]],
|
||||||
|
\ ])
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func Test_spell_NOSLITSUGS()
|
||||||
|
call LoadAffAndDic(g:test_data_aff8, g:test_data_dic8)
|
||||||
|
call RunGoodBad("foo bar faabar", "bad: foobar barfoo",
|
||||||
|
\ ["bar", "faabar", "foo"],
|
||||||
|
\ [
|
||||||
|
\ ["bad", ["bar", "foo"]],
|
||||||
|
\ ["foobar", ["faabar", "foo bar", "bar"]],
|
||||||
|
\ ["barfoo", ["bar foo", "bar", "foo"]],
|
||||||
|
\ ])
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Numbers
|
||||||
|
func Test_spell_Numbers()
|
||||||
|
call LoadAffAndDic(g:test_data_aff9, g:test_data_dic9)
|
||||||
|
call RunGoodBad("0b1011 0777 1234 0x01ff", "",
|
||||||
|
\ ["bar", "foo"],
|
||||||
|
\ [
|
||||||
|
\ ])
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Affix flags
|
||||||
|
func Test_spell_affix_flags()
|
||||||
|
call LoadAffAndDic(g:test_data_aff10, g:test_data_dic10)
|
||||||
|
call RunGoodBad("drink drinkable drinkables drinktable drinkabletable",
|
||||||
|
\ "bad: drinks drinkstable drinkablestable",
|
||||||
|
\ ["drink", "drinkable", "drinkables", "table"],
|
||||||
|
\ [['bad', []],
|
||||||
|
\ ['drinks', ['drink']],
|
||||||
|
\ ['drinkstable', ['drinktable', 'drinkable', 'drink table']],
|
||||||
|
\ ['drinkablestable', ['drinkabletable', 'drinkables table', 'drinkable table']],
|
||||||
|
\ ])
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
function FirstSpellWord()
|
||||||
|
call feedkeys("/^start:\n", 'tx')
|
||||||
|
normal ]smm
|
||||||
|
let [str, a] = spellbadword()
|
||||||
|
return str
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
function SecondSpellWord()
|
||||||
|
normal `m]s
|
||||||
|
let [str, a] = spellbadword()
|
||||||
|
return str
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Test with SAL instead of SOFO items; test automatic reloading
|
||||||
|
func Test_spell_sal_and_addition()
|
||||||
|
set spellfile=
|
||||||
|
call writefile(g:test_data_dic1, "Xtest.dic")
|
||||||
|
call writefile(g:test_data_aff_sal, "Xtest.aff")
|
||||||
|
mkspell! Xtest Xtest
|
||||||
|
set spl=Xtest.utf-8.spl spell
|
||||||
|
call assert_equal('kbltykk', soundfold('goobledygoook'))
|
||||||
|
call assert_equal('kprnfn', soundfold('kóopërÿnôven'))
|
||||||
|
call assert_equal('*fls kswts tl', soundfold('oeverloos gezwets edale'))
|
||||||
|
|
||||||
|
"also use an addition file
|
||||||
|
call writefile(["/regions=usgbnz", "elequint/2", "elekwint/3"], "Xtest.utf-8.add")
|
||||||
|
mkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
|
||||||
|
|
||||||
|
bwipe!
|
||||||
|
call setline(1, ["start: elequint test elekwint test elekwent asdf"])
|
||||||
|
|
||||||
|
set spellfile=Xtest.utf-8.add
|
||||||
|
call assert_equal("elekwent", FirstSpellWord())
|
||||||
|
|
||||||
|
set spl=Xtest_us.utf-8.spl
|
||||||
|
call assert_equal("elequint", FirstSpellWord())
|
||||||
|
call assert_equal("elekwint", SecondSpellWord())
|
||||||
|
|
||||||
|
set spl=Xtest_gb.utf-8.spl
|
||||||
|
call assert_equal("elekwint", FirstSpellWord())
|
||||||
|
call assert_equal("elekwent", SecondSpellWord())
|
||||||
|
|
||||||
|
set spl=Xtest_nz.utf-8.spl
|
||||||
|
call assert_equal("elequint", FirstSpellWord())
|
||||||
|
call assert_equal("elekwent", SecondSpellWord())
|
||||||
|
|
||||||
|
set spl=Xtest_ca.utf-8.spl
|
||||||
|
call assert_equal("elequint", FirstSpellWord())
|
||||||
|
call assert_equal("elekwint", SecondSpellWord())
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func Test_spellfile_value()
|
||||||
|
set spellfile=Xdir/Xtest.utf-8.add
|
||||||
|
set spellfile=Xdir/Xtest.utf-8.add,Xtest_other.add
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" vim: shiftwidth=2 sts=2 expandtab
|
@ -754,6 +754,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 */
|
||||||
|
/**/
|
||||||
|
1354,
|
||||||
/**/
|
/**/
|
||||||
1353,
|
1353,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user