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