Mercurial > vim
diff src/testdir/test_popupwin.vim @ 16884:59e4148c0c73 v8.1.1443
patch 8.1.1443: popup window padding and border not implemented yet
commit https://github.com/vim/vim/commit/2fd8e35e16e502c98045c4b4e09a91eca840fb97
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 1 20:16:48 2019 +0200
patch 8.1.1443: popup window padding and border not implemented yet
Problem: Popup window padding and border not implemented yet.
Solution: Implement padding and border. Add core position and size to
popup_getpos().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Jun 2019 20:30:05 +0200 |
parents | 998603a243d7 |
children | 2bd51fdcc793 |
line wrap: on
line diff
--- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -56,6 +56,54 @@ func Test_simple_popup() call delete('XtestPopup') endfunc +func Test_popup_with_border_and_padding() + if !CanRunVimInTerminal() + return + endif + call writefile([ + \ "call setline(1, range(1, 100))", + \ "call popup_create('hello border', {'line': 2, 'col': 3, 'border': []})", + \ "call popup_create('hello padding', {'line': 2, 'col': 23, 'padding': []})", + \ "call popup_create('hello both', {'line': 2, 'col': 43, 'border': [], 'padding': []})", + \ "call popup_create('border TL', {'line': 6, 'col': 3, 'border': [1, 0, 0, 4]})", + \ "call popup_create('paddings', {'line': 6, 'col': 23, 'padding': [1, 3, 2, 4]})", + \], 'XtestPopupBorder') + let buf = RunVimInTerminal('-S XtestPopupBorder', {'rows': 15}) + call VerifyScreenDump(buf, 'Test_popupwin_20', {}) + + " clean up + call StopVimInTerminal(buf) + call delete('XtestPopupBorder') + + let with_border_or_padding = { + \ 'line': 2, + \ 'core_line': 3, + \ 'col': 3, + \ 'core_col': 4, + \ 'width': 14, + \ 'core_width': 12, + \ 'height': 3, + \ 'core_height': 1, + \ 'visible': 1} + let winid = popup_create('hello border', {'line': 2, 'col': 3, 'border': []})", + call assert_equal(with_border_or_padding, popup_getpos(winid)) + + let winid = popup_create('hello paddng', {'line': 2, 'col': 3, 'padding': []}) + call assert_equal(with_border_or_padding, popup_getpos(winid)) + + let winid = popup_create('hello both', {'line': 3, 'col': 8, 'border': [], 'padding': []}) + call assert_equal({ + \ 'line': 3, + \ 'core_line': 5, + \ 'col': 8, + \ 'core_col': 10, + \ 'width': 14, + \ 'core_width': 10, + \ 'height': 5, + \ 'core_height': 1, + \ 'visible': 1}, popup_getpos(winid)) +endfunc + func Test_popup_with_syntax_win_execute() if !CanRunVimInTerminal() return