Mercurial > vim
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 |