changeset 18311:60fce48438e2 v8.1.2150

patch 8.1.2150: no test for 'ttymouse' set from xterm version response Commit: https://github.com/vim/vim/commit/03b00476eed43dbc25222549c00b3af28e79b350 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Oct 14 22:22:03 2019 +0200 patch 8.1.2150: no test for 'ttymouse' set from xterm version response Problem: No test for 'ttymouse' set from xterm version response. Solution: Test the three possible values.
author Bram Moolenaar <Bram@vim.org>
date Mon, 14 Oct 2019 22:30:03 +0200
parents 15cb4163f9ae
children 46b7d4f15214
files src/testdir/test_termcodes.vim src/version.c
diffstat 2 files changed, 39 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -885,13 +885,12 @@ endfunc
 " This checks the libvterm version response.
 " This must be after other tests, because it has side effects to xterm
 " properties.
-" TODO: check other terminals response
 func Test_xx02_libvterm_response()
   " Termresponse is only parsed when t_RV is not empty.
   set t_RV=x
+
   set ttymouse=xterm
   call test_option_not_set('ttymouse')
-
   let seq = "\<Esc>[>0;100;0c"
   call feedkeys(seq, 'Lx!')
   call assert_equal(seq, v:termresponse)
@@ -900,6 +899,42 @@ func Test_xx02_libvterm_response()
   set t_RV=
 endfunc
 
+" This checks the xterm version response.
+" This must be after other tests, because it has side effects to xterm
+" properties.
+func Test_xx03_xterm_response()
+  " Termresponse is only parsed when t_RV is not empty.
+  set t_RV=x
+
+  " xterm < 95: "xterm" (actually unmodified)
+  set ttymouse=xterm
+  call test_option_not_set('ttymouse')
+  let seq = "\<Esc>[>0;94;0c"
+  call feedkeys(seq, 'Lx!')
+  call assert_equal(seq, v:termresponse)
+  call assert_equal('xterm', &ttymouse)
+
+  " xterm >= 95 < 277 "xterm2"
+  set ttymouse=xterm
+  call test_option_not_set('ttymouse')
+  let seq = "\<Esc>[>0;267;0c"
+  call feedkeys(seq, 'Lx!')
+  call assert_equal(seq, v:termresponse)
+  call assert_equal('xterm2', &ttymouse)
+
+  " xterm >= 277: "sgr"
+  set ttymouse=xterm
+  call test_option_not_set('ttymouse')
+  let seq = "\<Esc>[>0;277;0c"
+  call feedkeys(seq, 'Lx!')
+  call assert_equal(seq, v:termresponse)
+  call assert_equal('sgr', &ttymouse)
+
+  set t_RV=
+endfunc
+
+" TODO: check other terminals response
+
 func Test_get_termcode()
   try
     let k1 = &t_k1
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2150,
+/**/
     2149,
 /**/
     2148,