patch 8.2.2491: popup window for text property may show in first screen line
Problem: Popup window for text property may show in first screen line.
Solution: If the text position is invisible do not show the popup window.
(closes #7807)
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 0d9d326..7f5895f 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -3836,4 +3836,47 @@
call prop_type_delete('textprop')
endfunc
+func Test_popup_prop_not_visible()
+ CheckScreendump
+
+ let lines =<< trim END
+ vim9script
+ set nowrap stal=2
+ rightbelow :31vnew
+ setline(1, ['', 'some text', '', 'other text'])
+ prop_type_add('someprop', {})
+ prop_add(2, 9, {type: 'someprop', length: 5})
+ popup_create('attached to "some"', {
+ textprop: 'someprop',
+ highlight: 'ErrorMsg',
+ line: -1,
+ wrap: false,
+ fixed: true,
+ })
+ prop_type_add('otherprop', {})
+ prop_add(4, 10, {type: 'otherprop', length: 5})
+ popup_create('attached to "other"', {
+ textprop: 'otherprop',
+ highlight: 'ErrorMsg',
+ line: -1,
+ wrap: false,
+ fixed: false,
+ })
+ END
+ call writefile(lines, 'XtestPropNotVisble')
+ let buf = RunVimInTerminal('-S XtestPropNotVisble', #{rows: 10})
+ call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_01', {})
+
+ call term_sendkeys(buf, ":vert resize -14\<CR>")
+ call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_02', {})
+
+ call term_sendkeys(buf, ":vert resize -8\<CR>")
+ call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_03', {})
+
+ " clean up
+ call StopVimInTerminal(buf)
+ call delete('XtestPropNotVisble')
+endfunction
+
+
" vim: shiftwidth=2 sts=2