Mercurial > vim
view src/testdir/test58.in @ 5899:60cdaa05a6ad v7.4.292
updated for version 7.4.292
Problem: Searching for "a" does not match accented "a" with new regexp
engine, does match with old engine. (David B?rgin)
"ca" does not match "ca" with accented "a" with either engine.
Solution: Change the old engine, check for following composing character
also for single-byte patterns.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 13 May 2014 18:04:00 +0200 |
parents | 7aca84c0cd37 |
children | ad432f8f68fb |
line wrap: on
line source
Tests for spell checking. vim: set ft=vim : STARTTEST :so small.vim :" :" Don't want to depend on the locale from the environment :set enc=latin1 :e! :" :" Check using z= in new buffer (crash fixed by patch 7.4a.028). :set maxmem=512 spell iasdz=:" :" :" 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.latin1.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.latin1.add :mkspell! Xtest.latin1.add.spl Xtest.latin1.add :set spellfile=Xtest.latin1.add /^test2: ]s:let [str, a] = spellbadword() :$put =str :set spl=Xtest_us.latin1.spl /^test2: ]smm:let [str, a] = spellbadword() :$put =str `m]s:let [str, a] = spellbadword() :$put =str :set spl=Xtest_gb.latin1.spl /^test2: ]smm:let [str, a] = spellbadword() :$put =str `m]s:let [str, a] = spellbadword() :$put =str :set spl=Xtest_nz.latin1.spl /^test2: ]smm:let [str, a] = spellbadword() :$put =str `m]s:let [str, a] = spellbadword() :$put =str :set spl=Xtest_ca.latin1.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') :" :" NOSLITSUGS :call TestOne('8', '8') :" :" 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 ! 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 1good: wrong OK puts. Test the end bad: inputs comment ok Ok. test déôl end the badend 1dicstart 123456 test/NO # comment wrong Comment OK uk put/ISO the end deol déôr 1dicend affstart_sal SET ISO8859-1 TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ MIDWORD '- 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àáâãäå 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 ! 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 2good: puts bad: inputs comment ok Ok end the. test déôl badend addstart /regions=usgbnz elequint/2 elekwint/3 addend test2: elequint test elekwint test elekwent asdf 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 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 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 NOSLITSUGS 8affstart SET ISO8859-1 NOSPLITSUGS 8affend 8dicstart 1234 foo bar faabar 8dicend 8good: foo bar faabar bad: foobar barfoo badend test output: