diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-11-20 12:11:45 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-11-20 12:11:45 +0000 |
commit | 29967732761d1ffb5592db5f5aa7036f5b52abf1 (patch) | |
tree | 8ce74785996d6a469d1ab29c7d0f995210f75885 /src/testdir/test_autocmd.vim | |
parent | 228e422855d43965f2c3319ff0cdc26ea422c10f (diff) | |
download | vim-git-29967732761d1ffb5592db5f5aa7036f5b52abf1.tar.gz |
patch 9.0.0915: WinScrolled may trigger immediately when definedv9.0.0915
Problem: WinScrolled may trigger immediately when defined.
Solution: Initialize the fields in all windows. (closes #11582)
Diffstat (limited to 'src/testdir/test_autocmd.vim')
-rw-r--r-- | src/testdir/test_autocmd.vim | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index 5d3e0acdb..bcd4c53d2 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -439,6 +439,32 @@ func Test_WinScrolled_once_only() call StopVimInTerminal(buf) endfunc +" Check that WinScrolled is not triggered immediately when defined and there +" are split windows. +func Test_WinScrolled_not_when_defined() + CheckRunVimInTerminal + + let lines =<< trim END + call setline(1, ['aaa', 'bbb']) + echo 'nothing happened' + func ShowTriggered(id) + echo 'triggered' + endfunc + END + call writefile(lines, 'Xtest_winscrolled_not', 'D') + let buf = RunVimInTerminal('-S Xtest_winscrolled_not', #{rows: 10, cols: 60, statusoff: 2}) + call term_sendkeys(buf, ":split\<CR>") + call TermWait(buf) + " use a timer to show the message after redrawing + call term_sendkeys(buf, ":au WinScrolled * call timer_start(100, 'ShowTriggered')\<CR>") + call VerifyScreenDump(buf, 'Test_winscrolled_not_when_defined_1', {}) + + call term_sendkeys(buf, "\<C-E>") + call VerifyScreenDump(buf, 'Test_winscrolled_not_when_defined_2', {}) + + call StopVimInTerminal(buf) +endfunc + func Test_WinScrolled_long_wrapped() CheckRunVimInTerminal |