patch 9.0.0199: cursor position wrong with two right-aligned virtual texts
Problem: Cursor position wrong with two right-aligned virtual texts.
Solution: Add the padding for right-alignment. (issue #10906)
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index f5ac9c1..b012f69 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -2538,6 +2538,29 @@
call delete('XscriptPropsWithHighlight')
endfunc
+func Test_props_with_text_right_align_twice()
+ CheckRunVimInTerminal
+
+ let lines =<< trim END
+ call setline(1, ["some text some text some text some text", 'line two'])
+ call prop_type_add( 'MyErrorText', #{ highlight: 'ErrorMsg' } )
+ call prop_type_add( 'MyPadding', #{ highlight: 'DiffChange' } )
+ call prop_add( 1, 0, #{ type: 'MyPadding', text: ' nothing here', text_wrap: 'wrap'} )
+ call prop_add( 1, 0, #{ type: 'MyErrorText', text: 'Some error', text_wrap: 'wrap', text_align: 'right' } )
+ call prop_add( 1, 0, #{ type: 'MyErrorText', text: 'Another error', text_wrap: 'wrap', text_align: 'right' } )
+ normal G$
+ END
+ call writefile(lines, 'XscriptPropsRightAlign')
+ let buf = RunVimInTerminal('-S XscriptPropsRightAlign', #{rows: 8})
+ call VerifyScreenDump(buf, 'Test_prop_right_align_twice_1', {})
+
+ call term_sendkeys(buf, "ggisome more text\<Esc>G$")
+ call VerifyScreenDump(buf, 'Test_prop_right_align_twice_2', {})
+
+ call StopVimInTerminal(buf)
+ call delete('XscriptPropsRightAlign')
+endfunc
+
func Test_props_with_text_after()
CheckRunVimInTerminal