blob: a49514fa55b3b56b95b0f73ee333a28527c3b2c0 [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:"
Bram Moolenaar8d343302005-07-12 22:46:17 +00007:" Don't want to depend on the locale from the environment. The .aff and .dic
8:" text is in latin1, the test text is utf-8.
9:set enc=latin1
10:e!
11:set fenc=
Bram Moolenaar53180ce2005-07-05 21:48:14 +000012:" First generate a .spl file from a .dic and a .aff file.
Bram Moolenaarbbebc852005-07-18 21:47:53 +000013gg:/^affstart1/+1,/^affend1/-1w! Xtest.aff
14gg:/^dicstart/+1,/^dicend/-1w! Xtest.dic
Bram Moolenaar53180ce2005-07-05 21:48:14 +000015:set enc=utf-8
Bram Moolenaarbbebc852005-07-18 21:47:53 +000016:mkspell! Xtest Xtest
Bram Moolenaar53180ce2005-07-05 21:48:14 +000017:"
18:" use that spell file
19:set spl=Xtest.utf-8.spl
20:set spell
21:func SpellTest()
22/^test1:
23normal ]smm
24let str = spellbadword()
25$put =str
26normal `m
27let lst = spellsuggest(str, 4)
28$put =string(lst)
29normal `m]smm
30let str = spellbadword()
31$put =str
32normal `m
33let lst = spellsuggest(str, 2)
34$put =string(lst)
35normal `m]smm
36let str = spellbadword()
37$put =str
38normal `m
39let lst = spellsuggest(str, 2)
40$put =string(lst)
41normal `m]smm
42let str = spellbadword()
43$put =str
44normal `m
45let lst = spellsuggest(str, 2)
46$put =string(lst)
47normal `m]smm
48let str = spellbadword()
49$put =str
50normal `m
51let lst = spellsuggest(str, 2)
52$put =string(lst)
53normal `m]smm
54let str = spellbadword()
55$put =str
56normal `m
57let lst = spellsuggest(str, 2)
58$put =string(lst)
59endfunc
60:call SpellTest()
61:spelldump
621GyG:q
63:$put
64:$put =soundfold('goobledygoook')
65:$put =soundfold('kóopërÿnôven')
66:$put =soundfold('oeverloos gezwets edale')
67:"
68:" and now with SAL instead of SOFO items; test automatic reloading
69gg:/^affstart2/+1,/^affend2/-1w! Xtest.aff
70:mkspell! Xtest Xtest
71:$put =soundfold('goobledygoook')
72:$put =soundfold('kóopërÿnôven')
73:$put =soundfold('oeverloos gezwets edale')
74:"
75:" also use an addition file
76gg:/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
77:mkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
Bram Moolenaar53180ce2005-07-05 21:48:14 +000078:set spellfile=Xtest.utf-8.add
79/^test2:
80]s:let str = spellbadword()
81:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +000082:set spl=Xtest_us.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +000083/^test2:
84]smm:let str = spellbadword()
85:$put =str
86`m]s:let str = spellbadword()
87:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +000088:set spl=Xtest_gb.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +000089/^test2:
90]smm:let str = spellbadword()
91:$put =str
92`m]s:let str = spellbadword()
93:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +000094:set spl=Xtest_nz.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +000095/^test2:
96]smm:let str = spellbadword()
97:$put =str
98`m]s:let str = spellbadword()
99:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +0000100:set spl=Xtest_ca.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000101/^test2:
102]smm:let str = spellbadword()
103:$put =str
104`m]s:let str = spellbadword()
105:$put =str
106:"
107:" Postponed prefixes
108gg:/^affstart3/+1,/^affend3/-1w! Xtest.aff
109:mkspell! Xtest Xtest
110:set spellfile=
111:set spl=Xtest.utf-8.spl
112:mess
113:spelldump
1141GyG:q
115:$put
116:call SpellTest()
117:"
118gg:/^test output:/,$wq! test.out
119ENDTEST
120
121affstart1
122SET ISO8859-1
123TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
124
125FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
126LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
127UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
128
129SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
130SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
131
132MIDWORD '-
133
134KEP =
135RAR ?
136BAD !
137
138NOSPLITSUGS
139
140PFX I N 1
141PFX I 0 in .
142
143PFX O Y 1
144PFX O 0 out .
145
146SFX S Y 2
147SFX S 0 s [^s]
148SFX S 0 es s
149
150SFX N N 3
151SFX N 0 en [^n]
152SFX N 0 nen n
153SFX N 0 n .
154
155REP 3
156REP g ch
157REP ch g
158REP svp s.v.p.
159
160MAP 9
161MAP aàáâãäå
162MAP eèéêë
163MAP iìíîï
164MAP oòóôõö
165MAP uùúûü
166MAP nñ
167MAP cç
168MAP yÿý
169MAP sß
170affend1
171
172affstart2
173SET ISO8859-1
174TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
175
176FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
177LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
178UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
179
180MIDWORD '-
181
182KEP =
183RAR ?
184BAD !
185
186NOSPLITSUGS
187
188PFX I N 1
189PFX I 0 in .
190
191PFX O Y 1
192PFX O 0 out .
193
194SFX S Y 2
195SFX S 0 s [^s]
196SFX S 0 es s
197
198SFX N N 3
199SFX N 0 en [^n]
200SFX N 0 nen n
201SFX N 0 n .
202
203REP 3
204REP g ch
205REP ch g
206REP svp s.v.p.
207
208MAP 9
209MAP aàáâãäå
210MAP eèéêë
211MAP iìíîï
212MAP oòóôõö
213MAP uùúûü
214MAP nñ
215MAP cç
216MAP yÿý
217MAP sß
218
219SAL AH(AEIOUY)-^ *H
220SAL AR(AEIOUY)-^ *R
221SAL A(HR)^ *
222SAL A^ *
223SAL AH(AEIOUY)- H
224SAL AR(AEIOUY)- R
225SAL A(HR) _
226SAL À^ *
227SAL Å^ *
228SAL BB- _
229SAL B B
230SAL CQ- _
231SAL CIA X
232SAL CH X
233SAL C(EIY)- S
234SAL CK K
235SAL COUGH^ KF
236SAL CC< C
237SAL C K
238SAL DG(EIY) K
239SAL DD- _
240SAL D T
241SAL É< E
242SAL EH(AEIOUY)-^ *H
243SAL ER(AEIOUY)-^ *R
244SAL E(HR)^ *
245SAL ENOUGH^$ *NF
246SAL E^ *
247SAL EH(AEIOUY)- H
248SAL ER(AEIOUY)- R
249SAL E(HR) _
250SAL FF- _
251SAL F F
252SAL GN^ N
253SAL GN$ N
254SAL GNS$ NS
255SAL GNED$ N
256SAL GH(AEIOUY)- K
257SAL GH _
258SAL GG9 K
259SAL G K
260SAL H H
261SAL IH(AEIOUY)-^ *H
262SAL IR(AEIOUY)-^ *R
263SAL I(HR)^ *
264SAL I^ *
265SAL ING6 N
266SAL IH(AEIOUY)- H
267SAL IR(AEIOUY)- R
268SAL I(HR) _
269SAL J K
270SAL KN^ N
271SAL KK- _
272SAL K K
273SAL LAUGH^ LF
274SAL LL- _
275SAL L L
276SAL MB$ M
277SAL MM M
278SAL M M
279SAL NN- _
280SAL N N
281SAL OH(AEIOUY)-^ *H
282SAL OR(AEIOUY)-^ *R
283SAL O(HR)^ *
284SAL O^ *
285SAL OH(AEIOUY)- H
286SAL OR(AEIOUY)- R
287SAL O(HR) _
288SAL PH F
289SAL PN^ N
290SAL PP- _
291SAL P P
292SAL Q K
293SAL RH^ R
294SAL ROUGH^ RF
295SAL RR- _
296SAL R R
297SAL SCH(EOU)- SK
298SAL SC(IEY)- S
299SAL SH X
300SAL SI(AO)- X
301SAL SS- _
302SAL S S
303SAL TI(AO)- X
304SAL TH @
305SAL TCH-- _
306SAL TOUGH^ TF
307SAL TT- _
308SAL T T
309SAL UH(AEIOUY)-^ *H
310SAL UR(AEIOUY)-^ *R
311SAL U(HR)^ *
312SAL U^ *
313SAL UH(AEIOUY)- H
314SAL UR(AEIOUY)- R
315SAL U(HR) _
316SAL V^ W
317SAL V F
318SAL WR^ R
319SAL WH^ W
320SAL W(AEIOU)- W
321SAL X^ S
322SAL X KS
323SAL Y(AEIOU)- Y
324SAL ZZ- _
325SAL Z S
326affend2
327
328affstart3
329SET ISO8859-1
330
331FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
332LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
333UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
334
335PFXPOSTPONE
336
337MIDWORD '-
338
339KEP =
340RAR ?
341BAD !
342
343NOSPLITSUGS
344
345PFX I N 1
346PFX I 0 in .
347
348PFX O Y 1
Bram Moolenaar78984f52005-08-01 07:19:10 +0000349PFX O 0 out [a-z]
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000350
351SFX S Y 2
352SFX S 0 s [^s]
353SFX S 0 es s
354
355SFX N N 3
356SFX N 0 en [^n]
357SFX N 0 nen n
358SFX N 0 n .
359
360REP 3
361REP g ch
362REP ch g
363REP svp s.v.p.
364
365MAP 9
366MAP aàáâãäå
367MAP eèéêë
368MAP iìíîï
369MAP oòóôõö
370MAP uùúûü
371MAP nñ
372MAP cç
373MAP yÿý
374MAP sß
375affend3
376
377dicstart
378123456
379test/NO
380# comment
381wrong
382Comment
383OK
384uk
385put/ISO
386the end
387deol
388déôr
389dicend
390
391addstart
392/regions=usgbnz
393elequint/2
394elekwint/3
395addend
396
397test1:
398inputs wrong
399comment wrong
400puts OK
401ok wrong
402Ok wrong
403the end. test wrong
404déôl
405
406test2:
407elequint test elekwint test elekwent asdf
408
409
410test output: