mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
tests: Migrate legacy test match_conceal
This commit is contained in:
parent
133ef7e465
commit
b137ebdd17
@ -1,159 +0,0 @@
|
||||
Test for matchadd() and conceal feature
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:if !has("conceal") | e! test.ok | w! test.out | qa! | endif
|
||||
:set term=ansi
|
||||
:so mbyte.vim
|
||||
:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
|
||||
:10new|:vsp|:vert resize 20
|
||||
:put =\"\#\ This\ is\ a\ Test\"
|
||||
:norm! mazt
|
||||
:fu! ScreenChar(width, lines)
|
||||
: let c=''
|
||||
: for j in range(1,a:lines)
|
||||
: for i in range(1,a:width)
|
||||
: let c.=nr2char(screenchar(j, i))
|
||||
: endfor
|
||||
: let c.="\n"
|
||||
: endfor
|
||||
: return c
|
||||
:endfu
|
||||
:fu! ScreenAttr(line, pos, eval)
|
||||
: let g:attr=[]
|
||||
: for col in a:pos
|
||||
: call add(g:attr, screenattr(a:line,col))
|
||||
: endfor
|
||||
: " In case all values are zero, probably the terminal
|
||||
: " isn't set correctly, so catch that case
|
||||
: let null = (eval(join(g:attr, '+')) == 0)
|
||||
: let str=substitute(a:eval, '\d\+', 'g:attr[&]', 'g')
|
||||
: if null || eval(str)
|
||||
: :let g:attr_test="OK: ". str
|
||||
: else
|
||||
: :let g:attr_test="FAILED: ".str
|
||||
: :let g:attr_test.="\n". join(g:attr, ' ')
|
||||
: :let g:attr_test.="\n TERM: ". &term
|
||||
: endif
|
||||
:endfu
|
||||
:fu! DoRecordScreen()
|
||||
: wincmd l
|
||||
: $put =printf(\"\n%s\", g:test)
|
||||
: $put =g:line
|
||||
: $put =g:attr_test
|
||||
: wincmd p
|
||||
:endfu
|
||||
:let g:test ="Test 1: simple addmatch()"
|
||||
:call matchadd('Conceal', '\%2l ')
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:
|
||||
:let g:test ="Test 2: simple addmatch() and conceal (should be: #XThisXisXaXTest)"
|
||||
:norm! 'azt
|
||||
:call clearmatches()
|
||||
:syntax on
|
||||
:set concealcursor=n conceallevel=1
|
||||
:call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'X'})
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:
|
||||
:let g:test ="Test 3: addmatch() and conceallevel=3 (should be: #ThisisaTest)"
|
||||
:norm! 'azt
|
||||
:set conceallevel=3
|
||||
:call clearmatches()
|
||||
:call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'X'})
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0==1 && 1==2 && 1==3 && 1==4 && 0!=5")
|
||||
:call DoRecordScreen()
|
||||
:
|
||||
:let g:test ="Test 4: more match() (should be: #Thisisa Test)"
|
||||
:norm! 'azt
|
||||
:call matchadd('ErrorMsg', '\%2l Test', 20, -1, {'conceal': 'X'})
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0==1 && 1==2 && 0!=3 && 3==4 && 0!=5 && 3!=5")
|
||||
:call DoRecordScreen()
|
||||
:
|
||||
:let g:test ="Test 5/1: default conceal char (should be: # This is a Test)"
|
||||
:norm! 'azt
|
||||
:call clearmatches()
|
||||
:set conceallevel=1
|
||||
:call matchadd('Conceal', '\%2l ', 10, -1, {})
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:let g:test ="Test 5/2: default conceal char (should be: #+This+is+a+Test)"
|
||||
:norm! 'azt
|
||||
:set listchars=conceal:+
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:set listchars&vim
|
||||
:
|
||||
:let g:test ="Test 6/1: syn and match conceal (should be: #ZThisZisZaZTest)"
|
||||
:norm! 'azt
|
||||
:call clearmatches()
|
||||
:set conceallevel=1
|
||||
:call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'Z'})
|
||||
:syn match MyConceal /\%2l / conceal containedin=ALL cchar=*
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:let g:test ="Test 6/2: syn and match conceal (should be: #*This*is*a*Test)"
|
||||
:norm! 'azt
|
||||
:call clearmatches()
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:
|
||||
:let g:test ="Test 7/1: clear matches"
|
||||
:norm! 'azt
|
||||
:syn on
|
||||
:call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'Z'})
|
||||
:let a=getmatches()
|
||||
:call clearmatches()
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0==1 && 0==2 && 0==3 && 0==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:$put =a
|
||||
:call setmatches(a)
|
||||
:norm! 'azt
|
||||
:let g:test ="Test 7/2: reset match using setmatches()"
|
||||
:norm! 'azt
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:
|
||||
:let g:test ="Test 8: using matchaddpos() (should be #Pis a Test"
|
||||
:norm! 'azt
|
||||
:call clearmatches()
|
||||
:call matchaddpos('Conceal', [[2,2,6]], 10, -1, {'conceal': 'P'})
|
||||
:let a=getmatches()
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1!=2 && 0==2 && 0==3 && 0!=4 && 0!=5 && 4==5")
|
||||
:call DoRecordScreen()
|
||||
:$put =a
|
||||
:
|
||||
:let g:test ="Test 9: match using multibyte conceal char (should be: #ˑThisˑisˑaˑTest)"
|
||||
:norm! 'azt
|
||||
:call clearmatches()
|
||||
:call matchadd('Conceal', '\%2l ', 20, -1, {'conceal': "\u02d1"})
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0),1)
|
||||
:call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
:call DoRecordScreen()
|
||||
:
|
||||
:"sleep 10
|
||||
:%w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
dummy text
|
@ -1,52 +0,0 @@
|
||||
|
||||
# This is a Test
|
||||
|
||||
Test 1: simple addmatch()
|
||||
# This is a Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 2: simple addmatch() and conceal (should be: #XThisXisXaXTest)
|
||||
#XThisXisXaXTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 3: addmatch() and conceallevel=3 (should be: #ThisisaTest)
|
||||
#ThisisaTest
|
||||
OK: g:attr[0]==g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]!=g:attr[5]
|
||||
|
||||
Test 4: more match() (should be: #Thisisa Test)
|
||||
#Thisisa Test
|
||||
OK: g:attr[0]==g:attr[1] && g:attr[1]==g:attr[2] && g:attr[0]!=g:attr[3] && g:attr[3]==g:attr[4] && g:attr[0]!=g:attr[5] && g:attr[3]!=g:attr[5]
|
||||
|
||||
Test 5/1: default conceal char (should be: # This is a Test)
|
||||
# This is a Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 5/2: default conceal char (should be: #+This+is+a+Test)
|
||||
#+This+is+a+Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 6/1: syn and match conceal (should be: #ZThisZisZaZTest)
|
||||
#ZThisZisZaZTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 6/2: syn and match conceal (should be: #*This*is*a*Test)
|
||||
#*This*is*a*Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 7/1: clear matches
|
||||
# This is a Test
|
||||
OK: g:attr[0]==g:attr[1] && g:attr[0]==g:attr[2] && g:attr[0]==g:attr[3] && g:attr[0]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
{'group': 'Conceal', 'pattern': '\%2l ', 'priority': 10, 'id': 10, 'conceal': 'Z'}
|
||||
|
||||
Test 7/2: reset match using setmatches()
|
||||
#ZThisZisZaZTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 8: using matchaddpos() (should be #Pis a Test
|
||||
#Pis a Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]!=g:attr[2] && g:attr[0]==g:attr[2] && g:attr[0]==g:attr[3] && g:attr[0]!=g:attr[4] && g:attr[0]!=g:attr[5] && g:attr[4]==g:attr[5]
|
||||
{'group': 'Conceal', 'id': 11, 'priority': 10, 'pos1': [2, 2, 6], 'conceal': 'P'}
|
||||
|
||||
Test 9: match using multibyte conceal char (should be: #ˑThisˑisˑaˑTest)
|
||||
#ˑThisˑisˑaˑTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
228
test/functional/legacy/match_conceal_spec.lua
Normal file
228
test/functional/legacy/match_conceal_spec.lua
Normal file
@ -0,0 +1,228 @@
|
||||
-- Test for matchadd() and conceal feature
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear = helpers.clear
|
||||
local expect = helpers.expect
|
||||
local source = helpers.source
|
||||
|
||||
describe('match_conceal', function()
|
||||
before_each(function()
|
||||
clear()
|
||||
|
||||
source([[
|
||||
set wildchar=^E
|
||||
10new
|
||||
vsp
|
||||
vert resize 20
|
||||
put =\"\#\ This\ is\ a\ Test\"
|
||||
norm! mazt
|
||||
|
||||
fu! ScreenChar(width, lines)
|
||||
let c=''
|
||||
for j in range(1,a:lines)
|
||||
for i in range(1,a:width)
|
||||
let c.=nr2char(screenchar(j, i))
|
||||
endfor
|
||||
let c.="\n"
|
||||
endfor
|
||||
return c
|
||||
endfu
|
||||
|
||||
fu! ScreenAttr(line, pos, eval)
|
||||
let g:attr=[]
|
||||
for col in a:pos
|
||||
call add(g:attr, screenattr(a:line,col))
|
||||
endfor
|
||||
" In case all values are zero, probably the terminal
|
||||
" isn't set correctly, so catch that case
|
||||
let null = (eval(join(g:attr, '+')) == 0)
|
||||
let str=substitute(a:eval, '\d\+', 'g:attr[&]', 'g')
|
||||
if null || eval(str)
|
||||
let g:attr_test="OK: ". str
|
||||
else
|
||||
let g:attr_test="FAILED: ".str
|
||||
let g:attr_test.="\n". join(g:attr, ' ')
|
||||
let g:attr_test.="\n TERM: ". &term
|
||||
endif
|
||||
endfu
|
||||
|
||||
fu! DoRecordScreen()
|
||||
wincmd l
|
||||
$put =printf(\"\n%s\", g:test)
|
||||
$put =g:line
|
||||
$put =g:attr_test
|
||||
wincmd p
|
||||
endfu
|
||||
]])
|
||||
end)
|
||||
|
||||
it('is working', function()
|
||||
source([=[
|
||||
let g:test ="Test 1: simple addmatch()"
|
||||
call matchadd('Conceal', '\%2l ')
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
|
||||
let g:test ="Test 2: simple addmatch() and conceal (should be: #XThisXisXaXTest)"
|
||||
norm! 'azt
|
||||
call clearmatches()
|
||||
syntax on
|
||||
set concealcursor=n conceallevel=1
|
||||
call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'X'})
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
|
||||
let g:test ="Test 3: addmatch() and conceallevel=3 (should be: #ThisisaTest)"
|
||||
norm! 'azt
|
||||
set conceallevel=3
|
||||
call clearmatches()
|
||||
call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'X'})
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0==1 && 1==2 && 1==3 && 1==4 && 0!=5")
|
||||
call DoRecordScreen()
|
||||
|
||||
let g:test ="Test 4: more match() (should be: #Thisisa Test)"
|
||||
norm! 'azt
|
||||
call matchadd('ErrorMsg', '\%2l Test', 20, -1, {'conceal': 'X'})
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0==1 && 1==2 && 0!=3 && 3==4 && 0!=5 && 3!=5")
|
||||
call DoRecordScreen()
|
||||
|
||||
let g:test ="Test 5/1: default conceal char (should be: # This is a Test)"
|
||||
norm! 'azt
|
||||
call clearmatches()
|
||||
set conceallevel=1
|
||||
call matchadd('Conceal', '\%2l ', 10, -1, {})
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
let g:test ="Test 5/2: default conceal char (should be: #+This+is+a+Test)"
|
||||
norm! 'azt
|
||||
set listchars=conceal:+
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
set listchars&vi
|
||||
|
||||
let g:test ="Test 6/1: syn and match conceal (should be: #ZThisZisZaZTest)"
|
||||
norm! 'azt
|
||||
call clearmatches()
|
||||
set conceallevel=1
|
||||
call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'Z'})
|
||||
syn match MyConceal /\%2l / conceal containedin=ALL cchar=*
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
let g:test ="Test 6/2: syn and match conceal (should be: #*This*is*a*Test)"
|
||||
norm! 'azt
|
||||
call clearmatches()
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
|
||||
let g:test ="Test 7/1: clear matches"
|
||||
norm! 'azt
|
||||
syn on
|
||||
call matchadd('Conceal', '\%2l ', 10, -1, {'conceal': 'Z'})
|
||||
let a=getmatches()
|
||||
call clearmatches()
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0==1 && 0==2 && 0==3 && 0==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
$put =a
|
||||
call setmatches(a)
|
||||
norm! 'azt
|
||||
let g:test ="Test 7/2: reset match using setmatches()"
|
||||
norm! 'azt
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
|
||||
let g:test ="Test 8: using matchaddpos() (should be #Pis a Test"
|
||||
norm! 'azt
|
||||
call clearmatches()
|
||||
call matchaddpos('Conceal', [[2,2,6]], 10, -1, {'conceal': 'P'})
|
||||
let a=getmatches()
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1!=2 && 0==2 && 0==3 && 0!=4 && 0!=5 && 4==5")
|
||||
call DoRecordScreen()
|
||||
$put =a
|
||||
|
||||
let g:test ="Test 9: match using multibyte conceal char (should be: #ˑThisˑisˑaˑTest)"
|
||||
norm! 'azt
|
||||
call clearmatches()
|
||||
call matchadd('Conceal', '\%2l ', 20, -1, {'conceal': "\u02d1"})
|
||||
redraw!
|
||||
let line=ScreenChar(winwidth(0),1)
|
||||
call ScreenAttr(1,[1,2,7,10,12,16], "0!=1 && 1==2 && 1==3 && 1==4 && 0==5")
|
||||
call DoRecordScreen()
|
||||
]=])
|
||||
|
||||
expect([=[
|
||||
|
||||
# This is a Test
|
||||
|
||||
Test 1: simple addmatch()
|
||||
# This is a Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 2: simple addmatch() and conceal (should be: #XThisXisXaXTest)
|
||||
#XThisXisXaXTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 3: addmatch() and conceallevel=3 (should be: #ThisisaTest)
|
||||
#ThisisaTest
|
||||
OK: g:attr[0]==g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]!=g:attr[5]
|
||||
|
||||
Test 4: more match() (should be: #Thisisa Test)
|
||||
#Thisisa Test
|
||||
OK: g:attr[0]==g:attr[1] && g:attr[1]==g:attr[2] && g:attr[0]!=g:attr[3] && g:attr[3]==g:attr[4] && g:attr[0]!=g:attr[5] && g:attr[3]!=g:attr[5]
|
||||
|
||||
Test 5/1: default conceal char (should be: # This is a Test)
|
||||
# This is a Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 5/2: default conceal char (should be: #+This+is+a+Test)
|
||||
#+This+is+a+Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 6/1: syn and match conceal (should be: #ZThisZisZaZTest)
|
||||
#ZThisZisZaZTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 6/2: syn and match conceal (should be: #*This*is*a*Test)
|
||||
#*This*is*a*Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 7/1: clear matches
|
||||
# This is a Test
|
||||
OK: g:attr[0]==g:attr[1] && g:attr[0]==g:attr[2] && g:attr[0]==g:attr[3] && g:attr[0]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
{'group': 'Conceal', 'pattern': '\%2l ', 'priority': 10, 'id': 10, 'conceal': 'Z'}
|
||||
|
||||
Test 7/2: reset match using setmatches()
|
||||
#ZThisZisZaZTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]
|
||||
|
||||
Test 8: using matchaddpos() (should be #Pis a Test
|
||||
#Pis a Test
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]!=g:attr[2] && g:attr[0]==g:attr[2] && g:attr[0]==g:attr[3] && g:attr[0]!=g:attr[4] && g:attr[0]!=g:attr[5] && g:attr[4]==g:attr[5]
|
||||
{'group': 'Conceal', 'id': 11, 'priority': 10, 'pos1': [2, 2, 6], 'conceal': 'P'}
|
||||
|
||||
Test 9: match using multibyte conceal char (should be: #ˑThisˑisˑaˑTest)
|
||||
#ˑThisˑisˑaˑTest
|
||||
OK: g:attr[0]!=g:attr[1] && g:attr[1]==g:attr[2] && g:attr[1]==g:attr[3] && g:attr[1]==g:attr[4] && g:attr[0]==g:attr[5]]=])
|
||||
end)
|
||||
end)
|
Loading…
Reference in New Issue
Block a user