blob: 83849e133f63bd618d8f9135c85c66dc0784af7f [file] [log] [blame]
Bram Moolenaar4d585022016-04-14 19:50:22 +02001" Test for matchadd() and conceal feature using utf-8.
Bram Moolenaarb0f94c12019-06-13 22:19:53 +02002
Bram Moolenaarb46fecd2019-06-15 17:58:09 +02003source check.vim
4CheckFeature conceal
Bram Moolenaar4d585022016-04-14 19:50:22 +02005
6if !has('gui_running') && has('unix')
7 set term=ansi
8endif
9
Bram Moolenaar1e115362019-01-09 23:01:02 +010010func s:screenline(lnum) abort
Bram Moolenaar4d585022016-04-14 19:50:22 +020011 let line = []
12 for c in range(1, winwidth(0))
Bram Moolenaar196b4662019-09-06 21:34:30 +020013 call add(line, nr2char(a:lnum->screenchar(c)))
Bram Moolenaar4d585022016-04-14 19:50:22 +020014 endfor
15 return s:trim(join(line, ''))
Bram Moolenaar1e115362019-01-09 23:01:02 +010016endfunc
Bram Moolenaar4d585022016-04-14 19:50:22 +020017
Bram Moolenaar1e115362019-01-09 23:01:02 +010018func s:trim(str) abort
Bram Moolenaar4d585022016-04-14 19:50:22 +020019 return matchstr(a:str,'^\s*\zs.\{-}\ze\s*$')
Bram Moolenaar1e115362019-01-09 23:01:02 +010020endfunc
Bram Moolenaar4d585022016-04-14 19:50:22 +020021
Bram Moolenaar1e115362019-01-09 23:01:02 +010022func Test_match_using_multibyte_conceal_char()
Bram Moolenaar4d585022016-04-14 19:50:22 +020023 new
24 setlocal concealcursor=n conceallevel=1
25
26 1put='# This is a Test'
27 " 1234567890123456
28 let expect = '#ˑThisˑisˑaˑTest'
29
30 call cursor(1, 1)
31 call matchadd('Conceal', '\%2l ', 20, -1, {'conceal': "\u02d1"})
32 redraw!
33
34 let lnum = 2
35 call assert_equal(expect, s:screenline(lnum))
36 call assert_notequal(screenattr(lnum, 1), screenattr(lnum, 2))
37 call assert_equal(screenattr(lnum, 2), screenattr(lnum, 7))
38 call assert_equal(screenattr(lnum, 2), screenattr(lnum, 10))
39 call assert_equal(screenattr(lnum, 2), screenattr(lnum, 12))
40 call assert_equal(screenattr(lnum, 1), screenattr(lnum, 16))
41
42 quit!
Bram Moolenaar1e115362019-01-09 23:01:02 +010043endfunc
Bram Moolenaar6d91bcb2020-08-12 18:50:36 +020044
45" vim: shiftwidth=2 sts=2 expandtab