1
0
forked from aniani/vim
Files
vim/src/testdir/test_matchadd_conceal_utf8.vim
Bram Moolenaar 6d91bcb4d2 patch 8.2.1432: various inconsistencies in test files
Problem:    Various inconsistencies in test files.
Solution:   Add modelines where they were missing.  Use Check commands instead
            of silently skipping over tests.  Adjust indents and comments.
            (Ken Takata, closes #6695)
2020-08-12 18:50:36 +02:00

46 lines
1.1 KiB
VimL

" Test for matchadd() and conceal feature using utf-8.
source check.vim
CheckFeature conceal
if !has('gui_running') && has('unix')
set term=ansi
endif
func s:screenline(lnum) abort
let line = []
for c in range(1, winwidth(0))
call add(line, nr2char(a:lnum->screenchar(c)))
endfor
return s:trim(join(line, ''))
endfunc
func s:trim(str) abort
return matchstr(a:str,'^\s*\zs.\{-}\ze\s*$')
endfunc
func Test_match_using_multibyte_conceal_char()
new
setlocal concealcursor=n conceallevel=1
1put='# This is a Test'
" 1234567890123456
let expect = '#ˑThisˑisˑaˑTest'
call cursor(1, 1)
call matchadd('Conceal', '\%2l ', 20, -1, {'conceal': "\u02d1"})
redraw!
let lnum = 2
call assert_equal(expect, s:screenline(lnum))
call assert_notequal(screenattr(lnum, 1), screenattr(lnum, 2))
call assert_equal(screenattr(lnum, 2), screenattr(lnum, 7))
call assert_equal(screenattr(lnum, 2), screenattr(lnum, 10))
call assert_equal(screenattr(lnum, 2), screenattr(lnum, 12))
call assert_equal(screenattr(lnum, 1), screenattr(lnum, 16))
quit!
endfunc
" vim: shiftwidth=2 sts=2 expandtab