blob: 1beb457360bd9f8912dfd1ffd9b70044b5227119 [file] [log] [blame]
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00001Tests for spell checking. vim: set ft=vim :
2
3STARTTEST
4:so small.vim
5:"
Bram Moolenaare759a7a2005-07-12 22:50:18 +00006:" Don't want to depend on the locale from the environment
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00007:set enc=latin1
Bram Moolenaare759a7a2005-07-12 22:50:18 +00008:e!
9:" First generate a .spl file from a .dic and a .aff file.
Bram Moolenaarce0842a2005-07-18 21:58:11 +000010gg:/^affstart1/+1,/^affend1/-1w! Xtest.aff
11gg:/^dicstart/+1,/^dicend/-1w! Xtest.dic
12:mkspell! Xtest Xtest
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000013:"
14:" use that spell file
15:set spl=Xtest.latin1.spl
16:set spell
Bram Moolenaar53180ce2005-07-05 21:48:14 +000017:func SpellTest()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000018/^test1:
Bram Moolenaar53180ce2005-07-05 21:48:14 +000019normal ]smm
20let str = spellbadword()
21$put =str
22normal `m
23let lst = spellsuggest(str, 4)
24$put =string(lst)
25normal `m]smm
26let str = spellbadword()
27$put =str
28normal `m
29let lst = spellsuggest(str, 2)
30$put =string(lst)
31normal `m]smm
32let str = spellbadword()
33$put =str
34normal `m
35let lst = spellsuggest(str, 2)
36$put =string(lst)
37normal `m]smm
38let str = spellbadword()
39$put =str
40normal `m
41let lst = spellsuggest(str, 2)
42$put =string(lst)
43normal `m]smm
44let str = spellbadword()
45$put =str
46normal `m
47let lst = spellsuggest(str, 2)
48$put =string(lst)
49normal `m]smm
50let str = spellbadword()
51$put =str
52normal `m
53let lst = spellsuggest(str, 2)
54$put =string(lst)
55endfunc
56:call SpellTest()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000057:spelldump
581GyG:q
59:$put
60:$put =soundfold('goobledygoook')
61:$put =soundfold('kóopërÿnôven')
62:$put =soundfold('oeverloos gezwets edale')
63:"
64:" and now with SAL instead of SOFO items; test automatic reloading
65gg:/^affstart2/+1,/^affend2/-1w! Xtest.aff
66:mkspell! Xtest Xtest
67:$put =soundfold('goobledygoook')
68:$put =soundfold('kóopërÿnôven')
69:$put =soundfold('oeverloos gezwets edale')
70:"
71:" also use an addition file
72gg:/^addstart/+1,/^addend/-1w! Xtest.latin1.add
73:mkspell! Xtest.latin1.add.spl Xtest.latin1.add
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000074:set spellfile=Xtest.latin1.add
75/^test2:
76]s:let str = spellbadword()
77:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000078:set spl=Xtest_us.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000079/^test2:
80]smm:let str = spellbadword()
81:$put =str
82`m]s:let str = spellbadword()
83:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000084:set spl=Xtest_gb.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000085/^test2:
86]smm:let str = spellbadword()
87:$put =str
88`m]s:let str = spellbadword()
89:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000090:set spl=Xtest_nz.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000091/^test2:
92]smm:let str = spellbadword()
93:$put =str
94`m]s:let str = spellbadword()
95:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000096:set spl=Xtest_ca.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000097/^test2:
98]smm:let str = spellbadword()
99:$put =str
100`m]s:let str = spellbadword()
101:$put =str
102:"
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000103:" Postponed prefixes
104gg:/^affstart3/+1,/^affend3/-1w! Xtest.aff
105:mkspell! Xtest Xtest
106:set spellfile=
107:set spl=Xtest.latin1.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000108:spelldump
1091GyG:q
110:$put
111:call SpellTest()
112:"
Bram Moolenaard52d9742005-08-21 22:20:28 +0000113:" Compounding
114gg:/^compaffstart/+1,/^compaffend/-1w! Xtest.aff
115gg:/^compdicstart/+1,/^compdicend/-1w! Xtest.dic
116:mkspell! Xtest Xtest
117:set spellfile=
118:set spl=Xtest.latin1.spl
119:spelldump
1201GyG:q
121:$put
122/^comptest:
123:for i in range(12)
124normal ]smm
125let str = spellbadword()
126$put =str
127normal `m
128let lst = spellsuggest(str, 3)
129$put =string(lst)
130normal `m
131endfor
132:"
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000133gg:/^test output:/,$wq! test.out
134ENDTEST
135
136affstart1
137SET ISO8859-1
138TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
139
140FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
141LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
142UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
143
144SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
145SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
146
147MIDWORD '-
148
149KEP =
150RAR ?
151BAD !
152
153NOSPLITSUGS
154
155PFX I N 1
156PFX I 0 in .
157
158PFX O Y 1
159PFX O 0 out .
160
161SFX S Y 2
162SFX S 0 s [^s]
163SFX S 0 es s
164
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000165SFX N N 3
166SFX N 0 en [^n]
167SFX N 0 nen n
168SFX N 0 n .
169
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000170REP 3
171REP g ch
172REP ch g
173REP svp s.v.p.
174
175MAP 9
176MAP aàáâãäå
177MAP eèéêë
178MAP iìíîï
179MAP oòóôõö
180MAP uùúûü
181MAP nñ
182MAP cç
183MAP yÿý
184MAP sß
185affend1
186
187affstart2
188SET ISO8859-1
189TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
190
191FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
192LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
193UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
194
195MIDWORD '-
196
197KEP =
198RAR ?
199BAD !
200
201NOSPLITSUGS
202
203PFX I N 1
204PFX I 0 in .
205
206PFX O Y 1
207PFX O 0 out .
208
209SFX S Y 2
210SFX S 0 s [^s]
211SFX S 0 es s
212
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000213SFX N N 3
214SFX N 0 en [^n]
215SFX N 0 nen n
216SFX N 0 n .
217
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000218REP 3
219REP g ch
220REP ch g
221REP svp s.v.p.
222
223MAP 9
224MAP aàáâãäå
225MAP eèéêë
226MAP iìíîï
227MAP oòóôõö
228MAP uùúûü
229MAP nñ
230MAP cç
231MAP yÿý
232MAP sß
233
234SAL AH(AEIOUY)-^ *H
235SAL AR(AEIOUY)-^ *R
236SAL A(HR)^ *
237SAL A^ *
238SAL AH(AEIOUY)- H
239SAL AR(AEIOUY)- R
240SAL A(HR) _
241SAL À^ *
242SAL Å^ *
243SAL BB- _
244SAL B B
245SAL CQ- _
246SAL CIA X
247SAL CH X
248SAL C(EIY)- S
249SAL CK K
250SAL COUGH^ KF
251SAL CC< C
252SAL C K
253SAL DG(EIY) K
254SAL DD- _
255SAL D T
256SAL É< E
257SAL EH(AEIOUY)-^ *H
258SAL ER(AEIOUY)-^ *R
259SAL E(HR)^ *
260SAL ENOUGH^$ *NF
261SAL E^ *
262SAL EH(AEIOUY)- H
263SAL ER(AEIOUY)- R
264SAL E(HR) _
265SAL FF- _
266SAL F F
267SAL GN^ N
268SAL GN$ N
269SAL GNS$ NS
270SAL GNED$ N
271SAL GH(AEIOUY)- K
272SAL GH _
273SAL GG9 K
274SAL G K
275SAL H H
276SAL IH(AEIOUY)-^ *H
277SAL IR(AEIOUY)-^ *R
278SAL I(HR)^ *
279SAL I^ *
280SAL ING6 N
281SAL IH(AEIOUY)- H
282SAL IR(AEIOUY)- R
283SAL I(HR) _
284SAL J K
285SAL KN^ N
286SAL KK- _
287SAL K K
288SAL LAUGH^ LF
289SAL LL- _
290SAL L L
291SAL MB$ M
292SAL MM M
293SAL M M
294SAL NN- _
295SAL N N
296SAL OH(AEIOUY)-^ *H
297SAL OR(AEIOUY)-^ *R
298SAL O(HR)^ *
299SAL O^ *
300SAL OH(AEIOUY)- H
301SAL OR(AEIOUY)- R
302SAL O(HR) _
303SAL PH F
304SAL PN^ N
305SAL PP- _
306SAL P P
307SAL Q K
308SAL RH^ R
309SAL ROUGH^ RF
310SAL RR- _
311SAL R R
312SAL SCH(EOU)- SK
313SAL SC(IEY)- S
314SAL SH X
315SAL SI(AO)- X
316SAL SS- _
317SAL S S
318SAL TI(AO)- X
319SAL TH @
320SAL TCH-- _
321SAL TOUGH^ TF
322SAL TT- _
323SAL T T
324SAL UH(AEIOUY)-^ *H
325SAL UR(AEIOUY)-^ *R
326SAL U(HR)^ *
327SAL U^ *
328SAL UH(AEIOUY)- H
329SAL UR(AEIOUY)- R
330SAL U(HR) _
331SAL V^ W
332SAL V F
333SAL WR^ R
334SAL WH^ W
335SAL W(AEIOU)- W
336SAL X^ S
337SAL X KS
338SAL Y(AEIOU)- Y
339SAL ZZ- _
340SAL Z S
341affend2
342
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000343affstart3
344SET ISO8859-1
345
346FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
347LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
348UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
349
350PFXPOSTPONE
351
352MIDWORD '-
353
354KEP =
355RAR ?
356BAD !
357
358NOSPLITSUGS
359
360PFX I N 1
361PFX I 0 in .
362
363PFX O Y 1
Bram Moolenaar78984f52005-08-01 07:19:10 +0000364PFX O 0 out [a-z]
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000365
366SFX S Y 2
367SFX S 0 s [^s]
368SFX S 0 es s
369
370SFX N N 3
371SFX N 0 en [^n]
372SFX N 0 nen n
373SFX N 0 n .
374
375REP 3
376REP g ch
377REP ch g
378REP svp s.v.p.
379
380MAP 9
381MAP aàáâãäå
382MAP eèéêë
383MAP iìíîï
384MAP oòóôõö
385MAP uùúûü
386MAP nñ
387MAP cç
388MAP yÿý
389MAP sß
390affend3
391
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000392dicstart
393123456
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000394test/NO
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000395# comment
396wrong
397Comment
398OK
399uk
400put/ISO
401the end
402deol
403déôr
404dicend
405
Bram Moolenaard52d9742005-08-21 22:20:28 +0000406compaffstart
407SET ISO8859-1
408
409FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
410LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
411UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
412
413COMPOUNDFLAGS m+
414COMPOUNDFLAGS sm*e
415COMPOUNDFLAGS sm+
416COMPOUNDMIN 3
417COMPOUNDMAX 3
418
419COMPOUNDSYLMAX 5
420SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
421
422MAP 9
423MAP aàáâãäå
424MAP eèéêë
425MAP iìíîï
426MAP oòóôõö
427MAP uùúûü
428MAP nñ
429MAP cç
430MAP yÿý
431MAP sß
432
433NEEDAFFIX x
434
435PFXPOSTPONE
436
437MIDWORD '-
438
439SFX q N 1
440SFX q 0 -ok .
441
442SFX a Y 2
443SFX a 0 s .
444SFX a 0 ize . nocomp
445
446PFX p N 1
447PFX p 0 pre .
448compaffend
449
450compdicstart
4511234
452word/m
453util/am
454pro/xq
455tomato/m
456bork/mp
457start/s
458end/e
459compdicend
460
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000461addstart
462/regions=usgbnz
463elequint/2
464elekwint/3
465addend
466
467test1:
468inputs wrong
469comment wrong
470puts OK
471ok wrong
472Ok wrong
473the end. test wrong
474déôl
475
476test2:
477elequint test elekwint test elekwent asdf
478
Bram Moolenaard52d9742005-08-21 22:20:28 +0000479comptest:
480word util
481wordutil wordutils wordutilize
482pro pro-ok
483bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
484tomato tomatotomato tomatotomatotomato
485startend endstart endend startstart
486startword startwordword wordstart startwordend startwordwordend
487prebork preborkprebork preborkborkprebork preborkpreborkbork
488borkpreborkpreborkbork
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000489
490test output: