blob: 2510c122ba687d91ce501658a2d5f3d6ce7f8118 [file] [log] [blame]
Bram Moolenaar97b98102009-11-17 16:41:01 +00001Test for multi-byte text formatting.
Bram Moolenaar8c7694a2013-01-17 17:02:05 +01002Also test, that 'mps' with multibyte chars works.
Bram Moolenaardb813952013-03-07 18:50:57 +01003And test "ra" on multi-byte characters.
Bram Moolenaar0ffbbf92013-11-02 23:29:26 +01004Also test byteidx() and byteidxcomp()
Bram Moolenaar97b98102009-11-17 16:41:01 +00005
6STARTTEST
7:so mbyte.vim
8:set encoding=utf-8
9ENDTEST
10
11Results of test69:
12
13STARTTEST
14/^{/+1
15:set tw=2 fo=t
16gqgqjgqgqo
17XYZ
18abc XYZ
19ENDTEST
20
21{
22XYZ
23abc XYZ
24}
25
26STARTTEST
27/^{/+1
28:set tw=1 fo=tm
29gqgqjgqgqjgqgqjgqgqjgqgqo
30
31a
32 a
33XY
34 Y
35ENDTEST
36
37{
38
39a
40 a
41XY
42
43}
44
45STARTTEST
46/^{/+1
47:set tw=2 fo=tm
48gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
49
50a
51 a
52XY
53
54a
55ab
56abc
57ab c
58abXY
59ENDTEST
60
61{
62
63a
64 a
65XY
66
67a
68ab
69abc
70ab c
71abXY
72}
73
74STARTTEST
75/^{/+1
76:set ai tw=2 fo=tm
77gqgqjgqgqo
78
79a
80ENDTEST
81
82{
83
84 a
85}
86
87STARTTEST
88/^{/+1
89:set noai tw=2 fo=tm
90gqgqjgqgqo
91
92 a
93ENDTEST
94
95{
96
97 a
98}
99
100STARTTEST
101/^{/+1
102:set tw=2 fo=cqm comments=n:X
103gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
104
105a
106a
107XY
108XYZ
109
110 YZ
111XX
112XXa
113XXY
114ENDTEST
115
116{
117
118a
119a
120XY
121XYZ
122
123 YZ
124XX
125XXa
126XXY
127}
128
129STARTTEST
130/^{/+1
131:set tw=2 fo=tm
132Ra
133ENDTEST
134
135{
136
137}
138
139STARTTEST
Bram Moolenaar8c7694a2013-01-17 17:02:05 +0100140/^{/+1
141:set mps+=u2018:u2019
142d%
143ENDTEST
144
145{
146 two three four
147}
148STARTTEST
Bram Moolenaardb813952013-03-07 18:50:57 +0100149/^ra test
150jVjra
151ENDTEST
152
153ra test
154bb
155aab
156
157STARTTEST
Bram Moolenaar7d311c52014-02-22 23:49:35 +0100158:set whichwrap+=h
159/^x
160dh
161:set whichwrap-=h
162ENDTEST
163
164á
165x
166
167STARTTEST
Bram Moolenaar0ffbbf92013-11-02 23:29:26 +0100168:let a = '.é.' " one char of two bytes
169:let b = '.é.' " normal e with composing char
170/^byteidx
171:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)])
172:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)])
173/^byteidxcomp
174:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)])
175:let b = '.é.'
176:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
177ENDTEST
178
179byteidx
180byteidxcomp
181
182STARTTEST
Bram Moolenaar8e7048c2014-06-12 18:39:22 +0200183/^substitute
184:let y = substitute('123', '\zs', 'a', 'g') | put =y
185ENDTEST
186
187substitute
188
189STARTTEST
Bram Moolenaar97b98102009-11-17 16:41:01 +0000190:g/^STARTTEST/.,/^ENDTEST/d
191:1;/^Results/,$wq! test.out
192ENDTEST