diff src/testdir/test_cursor_func.vim @ 17292:8a095d343c59 v8.1.1645

patch 8.1.1645: cannot use a popup window for a balloon commit https://github.com/vim/vim/commit/b3d17a20d243f65bcfe23de08b7afd948c5132c2 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 7 18:28:14 2019 +0200 patch 8.1.1645: cannot use a popup window for a balloon Problem: Cannot use a popup window for a balloon. Solution: Add popup_beval(). Add the "mousemoved" property. Add the screenpos() function.
author Bram Moolenaar <Bram@vim.org>
date Sun, 07 Jul 2019 18:30:05 +0200
parents 81be817c9d9a
children f71ee7b04f0b
line wrap: on
line diff
--- a/src/testdir/test_cursor_func.vim
+++ b/src/testdir/test_cursor_func.vim
@@ -72,3 +72,31 @@ func Test_curswant_with_cursorline()
   call assert_equal(6, winsaveview().curswant)
   quit!
 endfunc
+
+func Test_screenpos()
+  rightbelow new
+  rightbelow 20vsplit
+  call setline(1, ["\tsome text", "long wrapping line here", "next line"])
+  redraw
+  let winid = win_getid()
+  let [winrow, wincol] = win_screenpos(winid)
+  call assert_equal({'row': winrow,
+	\ 'col': wincol + 0,
+	\ 'curscol': wincol + 7,
+	\ 'endcol': wincol + 7}, screenpos(winid, 1, 1))
+  call assert_equal({'row': winrow,
+	\ 'col': wincol + 13,
+	\ 'curscol': wincol + 13,
+	\ 'endcol': wincol + 13}, screenpos(winid, 1, 7))
+  call assert_equal({'row': winrow + 2,
+	\ 'col': wincol + 1,
+	\ 'curscol': wincol + 1,
+	\ 'endcol': wincol + 1}, screenpos(winid, 2, 22))
+  setlocal number
+  call assert_equal({'row': winrow + 3,
+	\ 'col': wincol + 9,
+	\ 'curscol': wincol + 9,
+	\ 'endcol': wincol + 9}, screenpos(winid, 2, 22))
+  close
+  bwipe!
+endfunc