patch 9.2.0605: tests: Test_screenpos() is flaky in GUI

Problem:  Test_screenpos() fails intermittently in the GUI testgui CI
          job with "Expected {'row': 22} but got {'row': 23}".  In the
          GUI, the window height reported by getwininfo() before the
          final redraw can be stale, so the cached wininfo.height does
          not match the actual window height when the assertion runs.
Solution: Use winheight(winid) at assertion time so the height reflects
          the window state after the redraw.

closes: #20457

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
thinca
2026-06-09 18:39:52 +00:00
committed by Christian Brabandt
parent 87f7ef1eb9
commit 781a91ac54
2 changed files with 3 additions and 1 deletions
+1 -1
View File
@@ -125,7 +125,7 @@ func Test_screenpos()
exe "normal G\<C-Y>\<C-Y>"
redraw
let winbar_height = get(wininfo, 'winbar', 0)
call assert_equal({'row': winrow + wininfo.height - 1 + winbar_height,
call assert_equal({'row': winrow + winheight(winid) - 1 + winbar_height,
\ 'col': wincol + 7,
\ 'curscol': wincol + 7,
\ 'endcol': wincol + 7}, winid->screenpos(line('$'), 8))
+2
View File
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
605,
/**/
604,
/**/