2017-07-28 17:26:21 -07:00
|
|
|
|
" Test for displaying stuff
|
2017-08-09 19:11:35 -07:00
|
|
|
|
|
|
|
|
|
" Nvim: `:set term` is not supported.
|
|
|
|
|
" if !has('gui_running') && has('unix')
|
|
|
|
|
" set term=ansi
|
|
|
|
|
" endif
|
2017-07-28 17:26:21 -07:00
|
|
|
|
|
2017-07-28 16:44:58 -07:00
|
|
|
|
source view_util.vim
|
2017-07-28 17:26:21 -07:00
|
|
|
|
|
2017-07-28 16:44:58 -07:00
|
|
|
|
func! Test_display_foldcolumn()
|
|
|
|
|
if !has("folding")
|
|
|
|
|
return
|
|
|
|
|
endif
|
2017-07-28 17:26:21 -07:00
|
|
|
|
new
|
|
|
|
|
vnew
|
|
|
|
|
vert resize 25
|
2017-07-28 17:30:54 -07:00
|
|
|
|
call assert_equal(25, winwidth(winnr()))
|
|
|
|
|
set isprint=@
|
2017-07-28 17:26:21 -07:00
|
|
|
|
|
|
|
|
|
1put='e more noise blah blah more stuff here'
|
|
|
|
|
|
2017-07-28 16:44:58 -07:00
|
|
|
|
let expect = [
|
|
|
|
|
\ "e more noise blah blah<82",
|
|
|
|
|
\ "> more stuff here "
|
|
|
|
|
\ ]
|
2017-07-28 17:26:21 -07:00
|
|
|
|
|
|
|
|
|
call cursor(2, 1)
|
|
|
|
|
norm! zt
|
2017-07-28 16:44:58 -07:00
|
|
|
|
let lines=ScreenLines([1,2], winwidth(0))
|
|
|
|
|
call assert_equal(expect, lines)
|
2017-07-28 17:26:21 -07:00
|
|
|
|
set fdc=2
|
2017-07-28 16:44:58 -07:00
|
|
|
|
let lines=ScreenLines([1,2], winwidth(0))
|
|
|
|
|
let expect = [
|
|
|
|
|
\ " e more noise blah blah<",
|
|
|
|
|
\ " 82> more stuff here "
|
|
|
|
|
\ ]
|
|
|
|
|
call assert_equal(expect, lines)
|
2017-07-28 17:26:21 -07:00
|
|
|
|
|
|
|
|
|
quit!
|
|
|
|
|
quit!
|
2017-07-28 16:44:58 -07:00
|
|
|
|
endfunc
|
|
|
|
|
|
|
|
|
|
func! Test_display_foldtext_mbyte()
|
2019-08-19 19:13:55 -07:00
|
|
|
|
if !has("folding")
|
2017-07-28 16:44:58 -07:00
|
|
|
|
return
|
|
|
|
|
endif
|
|
|
|
|
call NewWindow(10, 40)
|
|
|
|
|
call append(0, range(1,20))
|
|
|
|
|
exe "set foldmethod=manual foldtext=foldtext() fillchars=fold:\u2500,vert:\u2502 fdc=2"
|
|
|
|
|
call cursor(2, 1)
|
|
|
|
|
norm! zf13G
|
|
|
|
|
let lines=ScreenLines([1,3], winwidth(0)+1)
|
|
|
|
|
let expect=[
|
|
|
|
|
\ " 1 \u2502",
|
|
|
|
|
\ "+ +-- 12 lines: 2". repeat("\u2500", 23). "\u2502",
|
|
|
|
|
\ " 14 \u2502",
|
|
|
|
|
\ ]
|
|
|
|
|
call assert_equal(expect, lines)
|
2017-07-28 17:40:25 -07:00
|
|
|
|
|
|
|
|
|
set fillchars=fold:-,vert:\|
|
|
|
|
|
let lines=ScreenLines([1,3], winwidth(0)+1)
|
|
|
|
|
let expect=[
|
|
|
|
|
\ " 1 |",
|
|
|
|
|
\ "+ +-- 12 lines: 2". repeat("-", 23). "|",
|
|
|
|
|
\ " 14 |",
|
|
|
|
|
\ ]
|
|
|
|
|
call assert_equal(expect, lines)
|
|
|
|
|
|
2017-07-28 16:44:58 -07:00
|
|
|
|
set foldtext& fillchars& foldmethod& fdc&
|
|
|
|
|
bw!
|
|
|
|
|
endfunc
|
2019-09-21 20:29:15 -07:00
|
|
|
|
|
|
|
|
|
func Test_display_listchars_precedes()
|
|
|
|
|
call NewWindow(10, 10)
|
|
|
|
|
" Need a physical line that wraps over the complete
|
|
|
|
|
" window size
|
|
|
|
|
call append(0, repeat('aaa aaa aa ', 10))
|
|
|
|
|
call append(1, repeat(['bbb bbb bbb bbb'], 2))
|
|
|
|
|
" remove blank trailing line
|
|
|
|
|
$d
|
|
|
|
|
set list nowrap
|
|
|
|
|
call cursor(1, 1)
|
|
|
|
|
" move to end of line and scroll 2 characters back
|
|
|
|
|
norm! $2zh
|
|
|
|
|
let lines=ScreenLines([1,4], winwidth(0)+1)
|
|
|
|
|
let expect = [
|
|
|
|
|
\ " aaa aa $ |",
|
|
|
|
|
\ "$ |",
|
|
|
|
|
\ "$ |",
|
|
|
|
|
\ "~ |",
|
|
|
|
|
\ ]
|
|
|
|
|
call assert_equal(expect, lines)
|
|
|
|
|
set list listchars+=precedes:< nowrap
|
|
|
|
|
call cursor(1, 1)
|
|
|
|
|
" move to end of line and scroll 2 characters back
|
|
|
|
|
norm! $2zh
|
|
|
|
|
let lines = ScreenLines([1,4], winwidth(0)+1)
|
|
|
|
|
let expect = [
|
|
|
|
|
\ "<aaa aa $ |",
|
|
|
|
|
\ "< |",
|
|
|
|
|
\ "< |",
|
|
|
|
|
\ "~ |",
|
|
|
|
|
\ ]
|
|
|
|
|
call assert_equal(expect, lines)
|
|
|
|
|
set wrap
|
|
|
|
|
call cursor(1, 1)
|
|
|
|
|
" the complete line should be displayed in the window
|
|
|
|
|
norm! $
|
|
|
|
|
|
|
|
|
|
let lines = ScreenLines([1,10], winwidth(0)+1)
|
|
|
|
|
let expect = [
|
|
|
|
|
\ "<aaa aaa a|",
|
|
|
|
|
\ "a aaa aaa |",
|
|
|
|
|
\ "aa aaa aaa|",
|
|
|
|
|
\ " aa aaa aa|",
|
|
|
|
|
\ "a aa aaa a|",
|
|
|
|
|
\ "aa aa aaa |",
|
|
|
|
|
\ "aaa aa aaa|",
|
|
|
|
|
\ " aaa aa aa|",
|
|
|
|
|
\ "a aaa aa a|",
|
|
|
|
|
\ "aa aaa aa |",
|
|
|
|
|
\ ]
|
|
|
|
|
call assert_equal(expect, lines)
|
|
|
|
|
set list& listchars& wrap&
|
|
|
|
|
bw!
|
|
|
|
|
endfunc
|