blob: 5a3753068c98616a6bd23c596a1cd3bff36351a4 [file] [log] [blame]
Bram Moolenaar53180ce2005-07-05 21:48:14 +00001Tests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :
2
3STARTTEST
4:so small.vim
5:so mbyte.vim
6:"
7:" First generate a .spl file from a .dic and a .aff file.
8:set enc=utf-8
9:/^affstart1/+1,/affend1/-1w Xtest.aff
10:/^dicstart/+1,/dicend/-1w Xtest.dic
11:mkspell Xtest Xtest
12:"
13:" use that spell file
14:set spl=Xtest.utf-8.spl
15:set spell
16:func SpellTest()
17/^test1:
18normal ]smm
19let str = spellbadword()
20$put =str
21normal `m
22let lst = spellsuggest(str, 4)
23$put =string(lst)
24normal `m]smm
25let str = spellbadword()
26$put =str
27normal `m
28let lst = spellsuggest(str, 2)
29$put =string(lst)
30normal `m]smm
31let str = spellbadword()
32$put =str
33normal `m
34let lst = spellsuggest(str, 2)
35$put =string(lst)
36normal `m]smm
37let str = spellbadword()
38$put =str
39normal `m
40let lst = spellsuggest(str, 2)
41$put =string(lst)
42normal `m]smm
43let str = spellbadword()
44$put =str
45normal `m
46let lst = spellsuggest(str, 2)
47$put =string(lst)
48normal `m]smm
49let str = spellbadword()
50$put =str
51normal `m
52let lst = spellsuggest(str, 2)
53$put =string(lst)
54endfunc
55:call SpellTest()
56:spelldump
571GyG:q
58:$put
59:$put =soundfold('goobledygoook')
60:$put =soundfold('kóopërÿnôven')
61:$put =soundfold('oeverloos gezwets edale')
62:"
63:" and now with SAL instead of SOFO items; test automatic reloading
64gg:/^affstart2/+1,/^affend2/-1w! Xtest.aff
65:mkspell! Xtest Xtest
66:$put =soundfold('goobledygoook')
67:$put =soundfold('kóopërÿnôven')
68:$put =soundfold('oeverloos gezwets edale')
69:"
70:" also use an addition file
71gg:/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
72:mkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
73:set spl=en
74:set spellfile=Xtest.utf-8.add
75/^test2:
76]s:let str = spellbadword()
77:$put =str
78:set spl=en_us
79/^test2:
80]smm:let str = spellbadword()
81:$put =str
82`m]s:let str = spellbadword()
83:$put =str
84:set spl=en_gb
85/^test2:
86]smm:let str = spellbadword()
87:$put =str
88`m]s:let str = spellbadword()
89:$put =str
90:set spl=en_nz
91/^test2:
92]smm:let str = spellbadword()
93:$put =str
94`m]s:let str = spellbadword()
95:$put =str
96:set spl=en_ca
97/^test2:
98]smm:let str = spellbadword()
99:$put =str
100`m]s:let str = spellbadword()
101:$put =str
102:"
103:" Postponed prefixes
104gg:/^affstart3/+1,/^affend3/-1w! Xtest.aff
105:mkspell! Xtest Xtest
106:set spellfile=
107:set spl=Xtest.utf-8.spl
108:mess
109:spelldump
1101GyG:q
111:$put
112:call SpellTest()
113:"
114gg:/^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
146SFX N N 3
147SFX N 0 en [^n]
148SFX N 0 nen n
149SFX N 0 n .
150
151REP 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
194SFX N N 3
195SFX N 0 en [^n]
196SFX N 0 nen n
197SFX N 0 n .
198
199REP 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
324affstart3
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
373dicstart
374123456
375test/NO
376# 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: