Mercurial > vim
diff src/testdir/test_window_cmd.vim @ 16271:243cdc183ec9 v8.1.1140
patch 8.1.1140: not easy to find out what neighbors a window has
commit https://github.com/vim/vim/commit/46ad288b9b2a6eb0430cf802ff5ce68a58629897
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Apr 8 20:01:47 2019 +0200
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 https://github.com/vim/vim/issues/3993)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 08 Apr 2019 20:15:05 +0200 |
parents | 7fbdceabad64 |
children | 06fd0eaada01 |
line wrap: on
line diff
--- a/src/testdir/test_window_cmd.vim +++ b/src/testdir/test_window_cmd.vim @@ -743,4 +743,49 @@ func Test_relative_cursor_second_line_af 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