Mercurial > vim
diff src/testdir/test_utf8.vim @ 21971:0bc43a704f56 v8.2.1535
patch 8.2.1535: it is not possible to specify cell widths of characters
Commit: https://github.com/vim/vim/commit/08aac3c6192f0103cb87e280270a32b50e653be1
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Aug 28 21:04:24 2020 +0200
patch 8.2.1535: it is not possible to specify cell widths of characters
Problem: It is not possible to specify cell widths of characters.
Solution: Add setcellwidths().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 28 Aug 2020 21:15:03 +0200 |
parents | 6a4806e326dd |
children | 2030f8267db9 |
line wrap: on
line diff
--- a/src/testdir/test_utf8.vim +++ b/src/testdir/test_utf8.vim @@ -145,4 +145,39 @@ func Test_screenchar_utf8() bwipe! endfunc +func Test_setcellwidths() + call setcellwidths([ + \ [0x1330, 0x1330, 2], + \ [0x1337, 0x1339, 2], + \ [9999, 10000, 1], + \]) + + call assert_equal(2, strwidth("\u1330")) + call assert_equal(1, strwidth("\u1336")) + call assert_equal(2, strwidth("\u1337")) + call assert_equal(2, strwidth("\u1339")) + call assert_equal(1, strwidth("\u133a")) + + call setcellwidths([]) + + call assert_fails('call setcellwidths(1)', 'E714:') + + call assert_fails('call setcellwidths([1, 2, 0])', 'E1109:') + + call assert_fails('call setcellwidths([[0x101]])', 'E1110:') + call assert_fails('call setcellwidths([[0x101, 0x102]])', 'E1110:') + call assert_fails('call setcellwidths([[0x101, 0x102, 1, 4]])', 'E1110:') + call assert_fails('call setcellwidths([["a"]])', 'E1110:') + + call assert_fails('call setcellwidths([[0x102, 0x101, 1]])', 'E1111:') + + call assert_fails('call setcellwidths([[0x101, 0x102, 0]])', 'E1112:') + call assert_fails('call setcellwidths([[0x101, 0x102, 3]])', 'E1112:') + + call assert_fails('call setcellwidths([[0x111, 0x122, 1], [0x115, 0x116, 2]])', 'E1113:') + call assert_fails('call setcellwidths([[0x111, 0x122, 1], [0x122, 0x123, 2]])', 'E1113:') + + call assert_fails('call setcellwidths([[0x33, 0x44, 2]])', 'E1114:') +endfunc + " vim: shiftwidth=2 sts=2 expandtab