]> granicus.if.org Git - vim/commitdiff
patch 8.1.2365: missing tests for recent popupwin changes v8.1.2365
authorBram Moolenaar <Bram@vim.org>
Sat, 30 Nov 2019 16:58:27 +0000 (17:58 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 30 Nov 2019 16:58:27 +0000 (17:58 +0100)
Problem:    Missing tests for recent popupwin changes.
Solution:   Add test cases.

src/testdir/test_popupwin.vim
src/version.c

index 8ca7f1c574f009dd5b850f136ce6da74144e4477..653ee49d9e530f3f835fb117284aad98fe4c0112 100644 (file)
@@ -3053,4 +3053,62 @@ func Test_popupwin_filter_redraw()
   delfunc CloseFilter
 endfunc
 
+func Test_popupwin_double_width()
+  CheckScreendump
+
+  let lines =<< trim END
+    call setline(1, 'x你好世界你好世你好世界你好')
+    call setline(2, '你好世界你好世你好世界你好')
+    call setline(3, 'x你好世界你好世你好世界你好')
+    call popup_create('你好,世界 - 你好,世界xxxxx', #{line: 1, col: 3, maxwidth: 14})
+  END
+  call writefile(lines, 'XtestPopupWide')
+
+  let buf = RunVimInTerminal('-S XtestPopupWide', #{rows: 10})
+  call VerifyScreenDump(buf, 'Test_popupwin_doublewidth_1', {})
+
+  call StopVimInTerminal(buf)
+  call delete('XtestPopupWide')
+endfunc
+
+func Test_popupwin_sign()
+  CheckScreendump
+
+  let lines =<< trim END
+    call setline(1, range(10))
+    call sign_define('Current', {
+           \ 'text': '>>',
+           \ 'texthl': 'WarningMsg',
+           \ 'linehl': 'Error',
+           \ })
+    call sign_define('Other', {
+           \ 'text': '#!',
+           \ 'texthl': 'Error',
+           \ 'linehl': 'Search',
+           \ })
+    let winid = popup_create(['hello', 'bright', 'world'], {
+           \ 'minwidth': 20,
+           \ })
+    call setwinvar(winid, "&signcolumn", "yes")
+    let winbufnr = winbufnr(winid)
+
+    " add sign to current buffer, shows
+    call sign_place(1, 'Selected', 'Current', bufnr('%'), {'lnum': 1})
+    " add sign to current buffer, does not show
+    call sign_place(2, 'PopUpSelected', 'Other', bufnr('%'), {'lnum': 2})
+
+    " add sign to popup buffer, shows
+    call sign_place(3, 'PopUpSelected', 'Other', winbufnr, {'lnum': 1})
+    " add sign to popup buffer, does not show
+    call sign_place(4, 'Selected', 'Current', winbufnr, {'lnum': 2})
+  END
+  call writefile(lines, 'XtestPopupSign')
+
+  let buf = RunVimInTerminal('-S XtestPopupSign', #{rows: 10})
+  call VerifyScreenDump(buf, 'Test_popupwin_sign_1', {})
+
+  call StopVimInTerminal(buf)
+  call delete('XtestPopupSign')
+endfunc
+
 " vim: shiftwidth=2 sts=2
index 7bc97da6a25d4600aaa5d6dea9dabb0de7385dcf..d4e0861515d73552d67efad84631c240995e89dc 100644 (file)
@@ -737,6 +737,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2365,
 /**/
     2364,
 /**/