mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 8.1.1140: not easy to find out what neighbors a window has
Problem: Not easy to find out what neighbors a window has. Solution: Add more arguments to winnr(). (Yegappan Lakshmanan, closes #3993)
This commit is contained in:
@@ -743,4 +743,49 @@ func Test_relative_cursor_second_line_after_resize()
|
||||
let &so = so_save
|
||||
endfunc
|
||||
|
||||
" Tests for the winnr() function
|
||||
func Test_winnr()
|
||||
only | tabonly
|
||||
call assert_equal(1, winnr('j'))
|
||||
call assert_equal(1, winnr('k'))
|
||||
call assert_equal(1, winnr('h'))
|
||||
call assert_equal(1, winnr('l'))
|
||||
|
||||
" create a set of horizontally and vertically split windows
|
||||
leftabove new | wincmd p
|
||||
leftabove new | wincmd p
|
||||
rightbelow new | wincmd p
|
||||
rightbelow new | wincmd p
|
||||
leftabove vnew | wincmd p
|
||||
leftabove vnew | wincmd p
|
||||
rightbelow vnew | wincmd p
|
||||
rightbelow vnew | wincmd p
|
||||
|
||||
call assert_equal(8, winnr('j'))
|
||||
call assert_equal(2, winnr('k'))
|
||||
call assert_equal(4, winnr('h'))
|
||||
call assert_equal(6, winnr('l'))
|
||||
call assert_equal(9, winnr('2j'))
|
||||
call assert_equal(1, winnr('2k'))
|
||||
call assert_equal(3, winnr('2h'))
|
||||
call assert_equal(7, winnr('2l'))
|
||||
|
||||
" Error cases
|
||||
call assert_fails("echo winnr('0.2k')", 'E15:')
|
||||
call assert_equal(2, winnr('-2k'))
|
||||
call assert_fails("echo winnr('-2xj')", 'E15:')
|
||||
call assert_fails("echo winnr('j2j')", 'E15:')
|
||||
call assert_fails("echo winnr('ll')", 'E15:')
|
||||
call assert_fails("echo winnr('5')", 'E15:')
|
||||
call assert_equal(4, winnr('0h'))
|
||||
|
||||
tabnew
|
||||
call assert_equal(8, tabpagewinnr(1, 'j'))
|
||||
call assert_equal(2, tabpagewinnr(1, 'k'))
|
||||
call assert_equal(4, tabpagewinnr(1, 'h'))
|
||||
call assert_equal(6, tabpagewinnr(1, 'l'))
|
||||
|
||||
only | tabonly
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
Reference in New Issue
Block a user