diff options
Diffstat (limited to 'src/testdir/test_termcodes.vim')
-rw-r--r-- | src/testdir/test_termcodes.vim | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim index 86589b28d..82f5f41be 100644 --- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -922,6 +922,7 @@ endfunc func Test_xx01_term_style_response() " Termresponse is only parsed when t_RV is not empty. set t_RV=x + call test_override('term_props', 1) " send the termresponse to trigger requesting the XT codes let seq = "\<Esc>[>41;337;0c" @@ -932,7 +933,15 @@ func Test_xx01_term_style_response() call feedkeys(seq, 'Lx!') call assert_equal(seq, v:termstyleresp) + call assert_equal(#{ + \ cursor_style: 'u', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'u', + \ mouse: 's' + \ }, terminalprops()) + set t_RV= + call test_override('term_props', 0) endfunc " This checks the iTerm2 version response. @@ -941,6 +950,7 @@ endfunc func Test_xx02_iTerm2_response() " Termresponse is only parsed when t_RV is not empty. set t_RV=x + call test_override('term_props', 1) " Old versions of iTerm2 used a different style term response. set ttymouse=xterm @@ -957,7 +967,15 @@ func Test_xx02_iTerm2_response() call assert_equal(seq, v:termresponse) call assert_equal('sgr', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'u', + \ mouse: 's' + \ }, terminalprops()) + set t_RV= + call test_override('term_props', 0) endfunc " This checks the libvterm version response. @@ -966,6 +984,7 @@ endfunc func Test_xx03_libvterm_response() " Termresponse is only parsed when t_RV is not empty. set t_RV=x + call test_override('term_props', 1) set ttymouse=xterm call test_option_not_set('ttymouse') @@ -974,7 +993,15 @@ func Test_xx03_libvterm_response() call assert_equal(seq, v:termresponse) call assert_equal('sgr', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'u', + \ mouse: 's' + \ }, terminalprops()) + set t_RV= + call test_override('term_props', 0) endfunc " This checks the Mac Terminal.app version response. @@ -983,6 +1010,7 @@ endfunc func Test_xx04_Mac_Terminal_response() " Termresponse is only parsed when t_RV is not empty. set t_RV=x + call test_override('term_props', 1) set ttymouse=xterm call test_option_not_set('ttymouse') @@ -991,10 +1019,18 @@ func Test_xx04_Mac_Terminal_response() call assert_equal(seq, v:termresponse) call assert_equal('sgr', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'y', + \ mouse: 's' + \ }, terminalprops()) + " Reset is_not_xterm and is_mac_terminal. set t_RV= set term=xterm set t_RV=x + call test_override('term_props', 0) endfunc " This checks the mintty version response. @@ -1003,6 +1039,7 @@ endfunc func Test_xx05_mintty_response() " Termresponse is only parsed when t_RV is not empty. set t_RV=x + call test_override('term_props', 1) set ttymouse=xterm call test_option_not_set('ttymouse') @@ -1011,7 +1048,15 @@ func Test_xx05_mintty_response() call assert_equal(seq, v:termresponse) call assert_equal('sgr', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'y', + \ mouse: 's' + \ }, terminalprops()) + set t_RV= + call test_override('term_props', 0) endfunc " This checks the screen version response. @@ -1020,6 +1065,7 @@ endfunc func Test_xx06_screen_response() " Termresponse is only parsed when t_RV is not empty. set t_RV=x + call test_override('term_props', 1) " Old versions of screen don't support SGR mouse mode. set ttymouse=xterm @@ -1037,7 +1083,15 @@ func Test_xx06_screen_response() call assert_equal(seq, v:termresponse) call assert_equal('sgr', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'n', + \ underline_rgb: 'y', + \ mouse: 's' + \ }, terminalprops()) + set t_RV= + call test_override('term_props', 0) endfunc " This checks the xterm version response. @@ -1046,6 +1100,7 @@ endfunc func Test_xx07_xterm_response() " Termresponse is only parsed when t_RV is not empty. set t_RV=x + call test_override('term_props', 1) " Do Terminal.app first to check that is_mac_terminal is reset. set ttymouse=xterm @@ -1066,6 +1121,13 @@ func Test_xx07_xterm_response() call assert_equal(seq, v:termresponse) call assert_equal('xterm', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'y', + \ mouse: 'u' + \ }, terminalprops()) + " xterm >= 95 < 277 "xterm2" set ttymouse=xterm call test_option_not_set('ttymouse') @@ -1074,6 +1136,13 @@ func Test_xx07_xterm_response() call assert_equal(seq, v:termresponse) call assert_equal('xterm2', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'u', + \ mouse: '2' + \ }, terminalprops()) + " xterm >= 277: "sgr" set ttymouse=xterm call test_option_not_set('ttymouse') @@ -1082,7 +1151,30 @@ func Test_xx07_xterm_response() call assert_equal(seq, v:termresponse) call assert_equal('sgr', &ttymouse) + call assert_equal(#{ + \ cursor_style: 'n', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'u', + \ mouse: 's' + \ }, terminalprops()) + + " xterm >= 279: "sgr" and cursor_style not reset + set ttymouse=xterm + call test_option_not_set('ttymouse') + let seq = "\<Esc>[>0;279;0c" + call feedkeys(seq, 'Lx!') + call assert_equal(seq, v:termresponse) + call assert_equal('sgr', &ttymouse) + + call assert_equal(#{ + \ cursor_style: 'u', + \ cursor_blink_mode: 'u', + \ underline_rgb: 'u', + \ mouse: 's' + \ }, terminalprops()) + set t_RV= + call test_override('term_props', 0) endfunc func Test_get_termcode() |