mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.1.1934: not enough tests for text property popup window
Problem: Not enough tests for text property popup window. Solution: Add a few more tests.
This commit is contained in:
@@ -1103,7 +1103,7 @@ popup_adjust_position(win_T *wp)
|
|||||||
wantcol = screen_ecol + wantcol;
|
wantcol = screen_ecol + wantcol;
|
||||||
else
|
else
|
||||||
// left of the text
|
// left of the text
|
||||||
wantcol = screen_scol + wantcol - 1;
|
wantcol = screen_scol + wantcol - 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wp->w_popup_pos == POPPOS_CENTER)
|
if (wp->w_popup_pos == POPPOS_CENTER)
|
||||||
|
12
src/testdir/dumps/Test_popup_textprop_corn_1.dump
Normal file
12
src/testdir/dumps/Test_popup_textprop_corn_1.dump
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|4+0&#ffffff0|5| @72
|
||||||
|
|4|6| @72
|
||||||
|
|4|7| @3|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@52
|
||||||
|
|4|8| @3|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@52
|
||||||
|
|4|9| @3|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@33
|
||||||
|
>n|o|w| |w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @36
|
||||||
|
|5|1| @8| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@34
|
||||||
|
|5|2| @25|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@34
|
||||||
|
|5|3| @25|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@34
|
||||||
|
|5|4| @72
|
||||||
|
|5@1| @72
|
||||||
|
@57|5|0|,|1| @9|4|9|%|
|
12
src/testdir/dumps/Test_popup_textprop_corn_2.dump
Normal file
12
src/testdir/dumps/Test_popup_textprop_corn_2.dump
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|4+0&#ffffff0|5| @72
|
||||||
|
|4|6| @72
|
||||||
|
|4|7|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@56
|
||||||
|
|4|8|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@56
|
||||||
|
|4|9|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@37
|
||||||
|
>w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @40
|
||||||
|
|5|1| @4| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@38
|
||||||
|
|5|2| @21|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@38
|
||||||
|
|5|3| @21|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@38
|
||||||
|
|5|4| @72
|
||||||
|
|5@1| @72
|
||||||
|
@57|5|0|,|1| @9|4|9|%|
|
12
src/testdir/dumps/Test_popup_textprop_corn_3.dump
Normal file
12
src/testdir/dumps/Test_popup_textprop_corn_3.dump
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|4+0&#ffffff0|5| @72
|
||||||
|
|4|6| @72
|
||||||
|
|e|x|t|r>a| @69
|
||||||
|
|4|7|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@56
|
||||||
|
|4|8|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@56
|
||||||
|
|4|9|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@37
|
||||||
|
|w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @40
|
||||||
|
|5|1| @4| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@38
|
||||||
|
|5|2| @21|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@38
|
||||||
|
|5|3| @21|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@38
|
||||||
|
|5|4| @72
|
||||||
|
@57|4|7|,|5| @9|4|8|%|
|
12
src/testdir/dumps/Test_popup_textprop_corn_4.dump
Normal file
12
src/testdir/dumps/Test_popup_textprop_corn_4.dump
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|4+0&#ffffff0|5| @72
|
||||||
|
>4|6| @72
|
||||||
|
|4|7|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@56
|
||||||
|
|4|8|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@56
|
||||||
|
|4|9|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@37
|
||||||
|
|w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @40
|
||||||
|
|5|1| @4| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@38
|
||||||
|
|5|2| @21|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@38
|
||||||
|
|5|3| @21|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@38
|
||||||
|
|5|4| @72
|
||||||
|
|5@1| @72
|
||||||
|
|1| |l|i|n|e| |l|e|s@1|;| |b|e|f|o|r|e| |#|3| @1|1| |s|e|c|o|n|d| |a|g|o| @20|4|6|,|1| @9|4|9|%|
|
@@ -50,5 +50,58 @@ func Test_textprop_popup()
|
|||||||
call delete('XtestTextpropPopup')
|
call delete('XtestTextpropPopup')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_textprop_popup_corners()
|
||||||
|
let lines =<< trim END
|
||||||
|
call setline(1, range(1, 100))
|
||||||
|
call setline(50, 'now working with some longer text here')
|
||||||
|
50
|
||||||
|
normal zz
|
||||||
|
set scrolloff=0
|
||||||
|
call prop_type_add('popupMarker', #{highlight: 'DiffAdd'})
|
||||||
|
call prop_add(50, 23, #{
|
||||||
|
\ length: 6,
|
||||||
|
\ type: 'popupMarker',
|
||||||
|
\ })
|
||||||
|
let winid = popup_create('bottom left', #{
|
||||||
|
\ pos: 'botleft',
|
||||||
|
\ textprop: 'popupMarker',
|
||||||
|
\ padding: [0,1,0,1],
|
||||||
|
\ })
|
||||||
|
let winid = popup_create('bottom right', #{
|
||||||
|
\ pos: 'botright',
|
||||||
|
\ textprop: 'popupMarker',
|
||||||
|
\ border: [],
|
||||||
|
\ padding: [0,1,0,1],
|
||||||
|
\ })
|
||||||
|
let winid = popup_create('top left', #{
|
||||||
|
\ pos: 'topleft',
|
||||||
|
\ textprop: 'popupMarker',
|
||||||
|
\ border: [],
|
||||||
|
\ padding: [0,1,0,1],
|
||||||
|
\ })
|
||||||
|
let winid = popup_create('top right', #{
|
||||||
|
\ pos: 'topright',
|
||||||
|
\ textprop: 'popupMarker',
|
||||||
|
\ padding: [0,1,0,1],
|
||||||
|
\ })
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XtestTextpropPopupCorners')
|
||||||
|
let buf = RunVimInTerminal('-S XtestTextpropPopupCorners', #{rows: 12})
|
||||||
|
call VerifyScreenDump(buf, 'Test_popup_textprop_corn_1', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, "0dw")
|
||||||
|
call VerifyScreenDump(buf, 'Test_popup_textprop_corn_2', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, "46Goextra\<Esc>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_popup_textprop_corn_3', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, "u")
|
||||||
|
call VerifyScreenDump(buf, 'Test_popup_textprop_corn_4', {})
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
call delete('XtestTextpropPopupCorners')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2
|
" vim: shiftwidth=2 sts=2
|
||||||
|
@@ -761,6 +761,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1934,
|
||||||
/**/
|
/**/
|
||||||
1933,
|
1933,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user