comparison src/testdir/test_utf8.vim @ 31782:a19ef442c77a v9.0.1223

patch 9.0.1223: cannot use setcellwidths() below 0x100 Commit: https://github.com/vim/vim/commit/7193323b7796c05573f3aa89d422e848feb3a8dc Author: K.Takata <kentkt@csc.jp> Date: Fri Jan 20 16:00:55 2023 +0000 patch 9.0.1223: cannot use setcellwidths() below 0x100 Problem: Cannot use setcellwidths() below 0x100. Solution: Also accept characters between 0x80 and 0x100. (Ken Takata, closes #11834)
author Bram Moolenaar <Bram@vim.org>
date Fri, 20 Jan 2023 21:01:44 +0100
parents f348559ce426
children dbec60b8c253
comparison
equal deleted inserted replaced
31781:3237c4baee03 31782:a19ef442c77a
164 call assert_equal(2, strwidth("\u1330")) 164 call assert_equal(2, strwidth("\u1330"))
165 call assert_equal(1, strwidth("\u1336")) 165 call assert_equal(1, strwidth("\u1336"))
166 call assert_equal(2, strwidth("\u1337")) 166 call assert_equal(2, strwidth("\u1337"))
167 call assert_equal(2, strwidth("\u1339")) 167 call assert_equal(2, strwidth("\u1339"))
168 call assert_equal(1, strwidth("\u133a")) 168 call assert_equal(1, strwidth("\u133a"))
169
170 for aw in ['single', 'double']
171 exe 'set ambiwidth=' . aw
172 " Handle \u0080 to \u009F as control chars even on MS-Windows.
173 set isprint=@,161-255
174
175 call setcellwidths([])
176 " Control chars
177 call assert_equal(4, strwidth("\u0081"))
178 call assert_equal(6, strwidth("\uFEFF"))
179 " Ambiguous width chars
180 call assert_equal((aw == 'single') ? 1 : 2, strwidth("\u00A1"))
181 call assert_equal((aw == 'single') ? 1 : 2, strwidth("\u2010"))
182
183 call setcellwidths([[0x81, 0x81, 1], [0xA1, 0xA1, 1],
184 \ [0x2010, 0x2010, 1], [0xFEFF, 0xFEFF, 1]])
185 " Control chars
186 call assert_equal(4, strwidth("\u0081"))
187 call assert_equal(6, strwidth("\uFEFF"))
188 " Ambiguous width chars
189 call assert_equal(1, strwidth("\u00A1"))
190 call assert_equal(1, strwidth("\u2010"))
191
192 call setcellwidths([[0x81, 0x81, 2], [0xA1, 0xA1, 2],
193 \ [0x2010, 0x2010, 2], [0xFEFF, 0xFEFF, 2]])
194 " Control chars
195 call assert_equal(4, strwidth("\u0081"))
196 call assert_equal(6, strwidth("\uFEFF"))
197 " Ambiguous width chars
198 call assert_equal(2, strwidth("\u00A1"))
199 call assert_equal(2, strwidth("\u2010"))
200 endfor
201 set ambiwidth& isprint&
169 202
170 call setcellwidths([]) 203 call setcellwidths([])
171 204
172 call assert_fails('call setcellwidths(1)', 'E1211:') 205 call assert_fails('call setcellwidths(1)', 'E1211:')
173 206