blob: e03c8e05cbf6a8231867af0997b3e4d1995e9c66 [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
108:mess
109:spelldump
1101GyG:q
111:$put
112:call SpellTest()
113:"
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000114gg:/^test output:/,$wq! test.out
115ENDTEST
116
117affstart1
118SET ISO8859-1
119TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
120
121FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
122LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
123UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
124
125SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
126SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
127
128MIDWORD '-
129
130KEP =
131RAR ?
132BAD !
133
134NOSPLITSUGS
135
136PFX I N 1
137PFX I 0 in .
138
139PFX O Y 1
140PFX O 0 out .
141
142SFX S Y 2
143SFX S 0 s [^s]
144SFX S 0 es s
145
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000146SFX N N 3
147SFX N 0 en [^n]
148SFX N 0 nen n
149SFX N 0 n .
150
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000151REP 3
152REP g ch
153REP ch g
154REP svp s.v.p.
155
156MAP 9
157MAP aàáâãäå
158MAP eèéêë
159MAP iìíîï
160MAP oòóôõö
161MAP uùúûü
162MAP nñ
163MAP cç
164MAP yÿý
165MAP sß
166affend1
167
168affstart2
169SET ISO8859-1
170TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
171
172FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
173LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
174UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
175
176MIDWORD '-
177
178KEP =
179RAR ?
180BAD !
181
182NOSPLITSUGS
183
184PFX I N 1
185PFX I 0 in .
186
187PFX O Y 1
188PFX O 0 out .
189
190SFX S Y 2
191SFX S 0 s [^s]
192SFX S 0 es s
193
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000194SFX N N 3
195SFX N 0 en [^n]
196SFX N 0 nen n
197SFX N 0 n .
198
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000199REP 3
200REP g ch
201REP ch g
202REP svp s.v.p.
203
204MAP 9
205MAP aàáâãäå
206MAP eèéêë
207MAP iìíîï
208MAP oòóôõö
209MAP uùúûü
210MAP nñ
211MAP cç
212MAP yÿý
213MAP sß
214
215SAL AH(AEIOUY)-^ *H
216SAL AR(AEIOUY)-^ *R
217SAL A(HR)^ *
218SAL A^ *
219SAL AH(AEIOUY)- H
220SAL AR(AEIOUY)- R
221SAL A(HR) _
222SAL À^ *
223SAL Å^ *
224SAL BB- _
225SAL B B
226SAL CQ- _
227SAL CIA X
228SAL CH X
229SAL C(EIY)- S
230SAL CK K
231SAL COUGH^ KF
232SAL CC< C
233SAL C K
234SAL DG(EIY) K
235SAL DD- _
236SAL D T
237SAL É< E
238SAL EH(AEIOUY)-^ *H
239SAL ER(AEIOUY)-^ *R
240SAL E(HR)^ *
241SAL ENOUGH^$ *NF
242SAL E^ *
243SAL EH(AEIOUY)- H
244SAL ER(AEIOUY)- R
245SAL E(HR) _
246SAL FF- _
247SAL F F
248SAL GN^ N
249SAL GN$ N
250SAL GNS$ NS
251SAL GNED$ N
252SAL GH(AEIOUY)- K
253SAL GH _
254SAL GG9 K
255SAL G K
256SAL H H
257SAL IH(AEIOUY)-^ *H
258SAL IR(AEIOUY)-^ *R
259SAL I(HR)^ *
260SAL I^ *
261SAL ING6 N
262SAL IH(AEIOUY)- H
263SAL IR(AEIOUY)- R
264SAL I(HR) _
265SAL J K
266SAL KN^ N
267SAL KK- _
268SAL K K
269SAL LAUGH^ LF
270SAL LL- _
271SAL L L
272SAL MB$ M
273SAL MM M
274SAL M M
275SAL NN- _
276SAL N N
277SAL OH(AEIOUY)-^ *H
278SAL OR(AEIOUY)-^ *R
279SAL O(HR)^ *
280SAL O^ *
281SAL OH(AEIOUY)- H
282SAL OR(AEIOUY)- R
283SAL O(HR) _
284SAL PH F
285SAL PN^ N
286SAL PP- _
287SAL P P
288SAL Q K
289SAL RH^ R
290SAL ROUGH^ RF
291SAL RR- _
292SAL R R
293SAL SCH(EOU)- SK
294SAL SC(IEY)- S
295SAL SH X
296SAL SI(AO)- X
297SAL SS- _
298SAL S S
299SAL TI(AO)- X
300SAL TH @
301SAL TCH-- _
302SAL TOUGH^ TF
303SAL TT- _
304SAL T T
305SAL UH(AEIOUY)-^ *H
306SAL UR(AEIOUY)-^ *R
307SAL U(HR)^ *
308SAL U^ *
309SAL UH(AEIOUY)- H
310SAL UR(AEIOUY)- R
311SAL U(HR) _
312SAL V^ W
313SAL V F
314SAL WR^ R
315SAL WH^ W
316SAL W(AEIOU)- W
317SAL X^ S
318SAL X KS
319SAL Y(AEIOU)- Y
320SAL ZZ- _
321SAL Z S
322affend2
323
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000324affstart3
325SET ISO8859-1
326
327FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
328LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
329UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
330
331PFXPOSTPONE
332
333MIDWORD '-
334
335KEP =
336RAR ?
337BAD !
338
339NOSPLITSUGS
340
341PFX I N 1
342PFX I 0 in .
343
344PFX O Y 1
345PFX O 0 out .
346
347SFX S Y 2
348SFX S 0 s [^s]
349SFX S 0 es s
350
351SFX N N 3
352SFX N 0 en [^n]
353SFX N 0 nen n
354SFX N 0 n .
355
356REP 3
357REP g ch
358REP ch g
359REP svp s.v.p.
360
361MAP 9
362MAP aàáâãäå
363MAP eèéêë
364MAP iìíîï
365MAP oòóôõö
366MAP uùúûü
367MAP nñ
368MAP cç
369MAP yÿý
370MAP sß
371affend3
372
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000373dicstart
374123456
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000375test/NO
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000376# comment
377wrong
378Comment
379OK
380uk
381put/ISO
382the end
383deol
384déôr
385dicend
386
387addstart
388/regions=usgbnz
389elequint/2
390elekwint/3
391addend
392
393test1:
394inputs wrong
395comment wrong
396puts OK
397ok wrong
398Ok wrong
399the end. test wrong
400déôl
401
402test2:
403elequint test elekwint test elekwent asdf
404
405
406test output: