mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:7.4.370
Problem: Linebreak test fails when encoding is not utf-8. (Danek Duvall) Solution: Split the test in a single byte one and a utf-8 one. (Christian Brabandt)
This commit is contained in:
parent
244ea63724
commit
91aabcb75b
@ -1,10 +1,10 @@
|
||||
Test for linebreak and list option
|
||||
Test for linebreak and list option (non-utf8)
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
|
||||
:10new|:vsp|:vert resize 20
|
||||
:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
|
||||
:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
|
||||
:norm! zt
|
||||
:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
|
||||
:fu! ScreenChar(width)
|
||||
@ -32,22 +32,12 @@ STARTTEST
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0))
|
||||
:call DoRecordScreen()
|
||||
:let g:test ="Test 3: set linebreak + set list + fancy listchars"
|
||||
:exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0))
|
||||
:call DoRecordScreen()
|
||||
:let g:test ="Test 4: set linebreak nolist"
|
||||
:let g:test ="Test 3: set linebreak nolist"
|
||||
:set nolist linebreak
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0))
|
||||
:call DoRecordScreen()
|
||||
:let g:test ="Test 5: set nolinebreak list"
|
||||
:set list nolinebreak
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0))
|
||||
:call DoRecordScreen()
|
||||
:let g:test ="Test 6: set linebreak with tab and 1 line as long as screen: should break!"
|
||||
:let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!"
|
||||
:set nolist linebreak ts=8
|
||||
:let line="1\t".repeat('a', winwidth(0)-2)
|
||||
:$put =line
|
||||
|
@ -1,38 +1,26 @@
|
||||
|
||||
abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP
|
||||
abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP
|
||||
|
||||
Test 1: set linebreak
|
||||
abcdef
|
||||
+hijklmn
|
||||
+pqrstuvwxyz 1060ABC
|
||||
+pqrstuvwxyz_1060ABC
|
||||
+DEFGHIJKLMNOP
|
||||
|
||||
Test 2: set linebreak + set list
|
||||
^Iabcdef hijklmn^I
|
||||
+pqrstuvwxyz 1060ABC
|
||||
+pqrstuvwxyz_1060ABC
|
||||
+DEFGHIJKLMNOP
|
||||
|
||||
|
||||
Test 3: set linebreak + set list + fancy listchars
|
||||
▕———abcdef
|
||||
+hijklmn▕———
|
||||
+pqrstuvwxyz␣1060ABC
|
||||
+DEFGHIJKLMNOPˑ¶
|
||||
|
||||
Test 4: set linebreak nolist
|
||||
Test 3: set linebreak nolist
|
||||
abcdef
|
||||
+hijklmn
|
||||
+pqrstuvwxyz 1060ABC
|
||||
+pqrstuvwxyz_1060ABC
|
||||
+DEFGHIJKLMNOP
|
||||
|
||||
Test 5: set nolinebreak list
|
||||
▕———abcdef hijklmn▕—
|
||||
+pqrstuvwxyz␣1060ABC
|
||||
+DEFGHIJKLMNOPˑ¶
|
||||
¶
|
||||
1 aaaaaaaaaaaaaaaaaa
|
||||
|
||||
Test 6: set linebreak with tab and 1 line as long as screen: should break!
|
||||
Test 4: set linebreak with tab and 1 line as long as screen: should break!
|
||||
1
|
||||
+aaaaaaaaaaaaaaaaaa
|
||||
~
|
||||
|
41
src/nvim/testdir/test_listlbr_utf8.in
Normal file
41
src/nvim/testdir/test_listlbr_utf8.in
Normal file
@ -0,0 +1,41 @@
|
||||
Test for linebreak and list option in utf-8 mode
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
|
||||
:so mbyte.vim
|
||||
:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
|
||||
:10new|:vsp|:vert resize 20
|
||||
:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
|
||||
:norm! zt
|
||||
:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
|
||||
:fu! ScreenChar(width)
|
||||
: let c=''
|
||||
: for j in range(1,4)
|
||||
: for i in range(1,a:width)
|
||||
: let c.=nr2char(screenchar(j, i))
|
||||
: endfor
|
||||
: let c.="\n"
|
||||
: endfor
|
||||
: return c
|
||||
:endfu
|
||||
:fu! DoRecordScreen()
|
||||
: wincmd l
|
||||
: $put =printf(\"\n%s\", g:test)
|
||||
: $put =g:line
|
||||
: wincmd p
|
||||
:endfu
|
||||
:let g:test ="Test 1: set linebreak + set list + fancy listchars"
|
||||
:exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0))
|
||||
:call DoRecordScreen()
|
||||
:let g:test ="Test 2: set nolinebreak list"
|
||||
:set list nolinebreak
|
||||
:redraw!
|
||||
:let line=ScreenChar(winwidth(0))
|
||||
:call DoRecordScreen()
|
||||
:%w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
dummy text
|
14
src/nvim/testdir/test_listlbr_utf8.ok
Normal file
14
src/nvim/testdir/test_listlbr_utf8.ok
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP
|
||||
|
||||
Test 1: set linebreak + set list + fancy listchars
|
||||
▕———abcdef
|
||||
+hijklmn▕———
|
||||
+pqrstuvwxyz␣1060ABC
|
||||
+DEFGHIJKLMNOPˑ¶
|
||||
|
||||
Test 2: set nolinebreak list
|
||||
▕———abcdef hijklmn▕—
|
||||
+pqrstuvwxyz␣1060ABC
|
||||
+DEFGHIJKLMNOPˑ¶
|
||||
¶
|
@ -225,7 +225,7 @@ static int included_patches[] = {
|
||||
//373,
|
||||
//372,
|
||||
371,
|
||||
//370,
|
||||
370,
|
||||
//369,
|
||||
//368,
|
||||
//367,
|
||||
|
Loading…
Reference in New Issue
Block a user