annotate src/testdir/test_matchadd_conceal_utf8.vim @ 20540:193c0446cf28 v8.2.0824

patch 8.2.0824: still not enough memory allocated when converting string Commit: https://github.com/vim/vim/commit/1919371b2b9ddb1a645f40b59adbd89317530882 Author: Bram Moolenaar <Bram@vim.org> Date: Mon May 25 23:01:42 2020 +0200 patch 8.2.0824: still not enough memory allocated when converting string Problem: Still not enough memory allocated when converting string with special character. Solution: Reserve space for expanding K_SPECIAL. (closes #6130)
author Bram Moolenaar <Bram@vim.org>
date Mon, 25 May 2020 23:15:03 +0200
parents 0dcc2ee838dd
children 08940efa6b4e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test for matchadd() and conceal feature using utf-8.
17049
f38fcbf343ce patch 8.1.1524: tests are silently skipped
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
2
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
3 source check.vim
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
4 CheckFeature conceal
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 if !has('gui_running') && has('unix')
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 set term=ansi
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 endif
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 9618
diff changeset
10 func s:screenline(lnum) abort
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 let line = []
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 for c in range(1, winwidth(0))
17994
0dcc2ee838dd patch 8.1.1993: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
13 call add(line, nr2char(a:lnum->screenchar(c)))
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 endfor
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 return s:trim(join(line, ''))
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 9618
diff changeset
16 endfunc
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 9618
diff changeset
18 func s:trim(str) abort
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 return matchstr(a:str,'^\s*\zs.\{-}\ze\s*$')
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 9618
diff changeset
20 endfunc
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 9618
diff changeset
22 func Test_match_using_multibyte_conceal_char()
8907
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 new
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 setlocal concealcursor=n conceallevel=1
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 1put='# This is a Test'
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 " 1234567890123456
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 let expect = '#ˑThisˑisˑaˑTest'
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 call cursor(1, 1)
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 call matchadd('Conceal', '\%2l ', 20, -1, {'conceal': "\u02d1"})
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 redraw!
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 let lnum = 2
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
35 call assert_equal(expect, s:screenline(lnum))
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 call assert_notequal(screenattr(lnum, 1), screenattr(lnum, 2))
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 call assert_equal(screenattr(lnum, 2), screenattr(lnum, 7))
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38 call assert_equal(screenattr(lnum, 2), screenattr(lnum, 10))
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39 call assert_equal(screenattr(lnum, 2), screenattr(lnum, 12))
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 call assert_equal(screenattr(lnum, 1), screenattr(lnum, 16))
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
41
5deb9e8f4292 commit https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 quit!
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 9618
diff changeset
43 endfunc