diff src/testdir/test_popupwin.vim @ 16853:e6bcccccbf7b v8.1.1428

patch 8.1.1428: popup_atcursor() not implemented yet commit https://github.com/vim/vim/commit/cc31ad9f9b601d53926b96586bd6b40602d57951 Author: Bram Moolenaar <Bram@vim.org> Date: Thu May 30 19:25:06 2019 +0200 patch 8.1.1428: popup_atcursor() not implemented yet Problem: Popup_atcursor() not implemented yet. Solution: Implement it. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/4456)
author Bram Moolenaar <Bram@vim.org>
date Thu, 30 May 2019 19:30:03 +0200
parents 629f3d3b6886
children 4de94f6161f2
line wrap: on
line diff
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -335,3 +335,52 @@ func Test_popup_option_values()
   call popup_close(winid)
   bwipe
 endfunc
+
+func Test_popup_atcursor()
+  topleft vnew
+  call setline(1, [
+  \  'xxxxxxxxxxxxxxxxx',
+  \  'xxxxxxxxxxxxxxxxx',
+  \  'xxxxxxxxxxxxxxxxx',
+  \])
+
+  call cursor(2, 2)
+  redraw
+  let winid = popup_atcursor('vim', {})
+  redraw
+  let line = join(map(range(1, 17), 'screenstring(1, v:val)'), '')
+  call assert_equal('xvimxxxxxxxxxxxxx', line)
+  call popup_close(winid)
+
+  call cursor(3, 4)
+  redraw
+  let winid = popup_atcursor('vim', {})
+  redraw
+  let line = join(map(range(1, 17), 'screenstring(2, v:val)'), '')
+  call assert_equal('xxxvimxxxxxxxxxxx', line)
+  call popup_close(winid)
+
+  call cursor(1, 1)
+  redraw
+  let winid = popup_create('vim', {
+  \ 'line': 'cursor+2',
+  \ 'col': 'cursor+1',
+  \})
+  redraw
+  let line = join(map(range(1, 17), 'screenstring(3, v:val)'), '')
+  call assert_equal('xvimxxxxxxxxxxxxx', line)
+  call popup_close(winid)
+
+  call cursor(3, 3)
+  redraw
+  let winid = popup_create('vim', {
+  \ 'line': 'cursor-2',
+  \ 'col': 'cursor-1',
+  \})
+  redraw
+  let line = join(map(range(1, 17), 'screenstring(1, v:val)'), '')
+  call assert_equal('xvimxxxxxxxxxxxxx', line)
+  call popup_close(winid)
+
+  bwipe!
+endfunc