aboutsummaryrefslogtreecommitdiff
path: root/test/old/testdir
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-21 08:58:18 +0800
committerGitHub <noreply@github.com>2023-08-21 08:58:18 +0800
commita2a226170d178086592967f23c39112811178f0c (patch)
tree4f6e662c7968a674192ef1b60ac7d42099239040 /test/old/testdir
parent694814cdd54ac245d1f4d2c28dce7e9132fcb616 (diff)
downloadrneovim-a2a226170d178086592967f23c39112811178f0c.tar.gz
rneovim-a2a226170d178086592967f23c39112811178f0c.tar.bz2
rneovim-a2a226170d178086592967f23c39112811178f0c.zip
vim-patch:9.0.1772: Cursor may be adjusted in 'splitkeep'ed windows (#24811)
Problem: Cursor is adjusted in window that did not change in size by 'splitkeep'. Solution: Only check that cursor position is valid in a window that has changed in size. closes: vim/vim#12509 https://github.com/vim/vim/commit/16af913eeefb288ce968fb87e09a597413861900 Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
Diffstat (limited to 'test/old/testdir')
-rw-r--r--test/old/testdir/test_window_cmd.vim27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/old/testdir/test_window_cmd.vim b/test/old/testdir/test_window_cmd.vim
index 7d4932a2b5..bd4cb44b2b 100644
--- a/test/old/testdir/test_window_cmd.vim
+++ b/test/old/testdir/test_window_cmd.vim
@@ -1805,6 +1805,33 @@ func Test_splitkeep_misc()
set splitkeep&
endfunc
+func Test_splitkeep_cursor()
+ CheckScreendump
+ let lines =<< trim END
+ set splitkeep=screen
+ autocmd CursorMoved * wincmd p | wincmd p
+ call setline(1, range(1, 200))
+ func CursorEqualize()
+ call cursor(100, 1)
+ wincmd =
+ endfunc
+ wincmd s
+ call CursorEqualize()
+ END
+ call writefile(lines, 'XTestSplitkeepCallback', 'D')
+ let buf = RunVimInTerminal('-S XTestSplitkeepCallback', #{rows: 8})
+
+ call VerifyScreenDump(buf, 'Test_splitkeep_cursor_1', {})
+
+ call term_sendkeys(buf, "j")
+ call VerifyScreenDump(buf, 'Test_splitkeep_cursor_2', {})
+
+ call term_sendkeys(buf, ":set scrolloff=0\<CR>G")
+ call VerifyScreenDump(buf, 'Test_splitkeep_cursor_3', {})
+
+ call StopVimInTerminal(buf)
+endfunc
+
func Test_splitkeep_callback()
CheckScreendump
let lines =<< trim END