diff src/testdir/test_normal.vim @ 24731:a6a4224902f5 v8.2.2904

patch 8.2.2904: "g$" causes scroll if half a double width char is visible Commit: https://github.com/vim/vim/commit/74ede80aeb272ac81d41a256057c4f250372dd00 Author: Bram Moolenaar <Bram@vim.org> Date: Sat May 29 19:18:01 2021 +0200 patch 8.2.2904: "g$" causes scroll if half a double width char is visible Problem: "g$" causes scroll if half a double width char is visible. Solution: Advance to the last fully visible character. (closes https://github.com/vim/vim/issues/8254)
author Bram Moolenaar <Bram@vim.org>
date Sat, 29 May 2021 19:30:03 +0200
parents 3cdbce5ba73f
children 1ce39e257f1b
line wrap: on
line diff
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -2201,9 +2201,9 @@ func Test_normal33_g_cmd2()
   %d
   15vsp
   set wrap listchars= sbr=
-  let lineA='abcdefghijklmnopqrstuvwxyz'
-  let lineB='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-  let lineC='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
+  let lineA = 'abcdefghijklmnopqrstuvwxyz'
+  let lineB = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+  let lineC = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
   $put =lineA
   $put =lineB
 
@@ -2238,6 +2238,28 @@ func Test_normal33_g_cmd2()
   call assert_equal('l', getreg(0))
   call assert_beeps('normal 5g$')
 
+  " Test for g$ with double-width character half displayed
+  vsplit
+  9wincmd |
+  setlocal nowrap nonumber
+  call setline(2, 'asdfasdfヨ')
+  2
+  normal 0g$
+  call assert_equal(8, col('.'))
+  10wincmd |
+  normal 0g$
+  call assert_equal(9, col('.'))
+
+  setlocal signcolumn=yes
+  11wincmd |
+  normal 0g$
+  call assert_equal(8, col('.'))
+  12wincmd |
+  normal 0g$
+  call assert_equal(9, col('.'))
+
+  close
+
   " Test for g_
   call assert_beeps('normal! 100g_')
   call setline(2, ['  foo  ', '  foobar  '])