]> granicus.if.org Git - vim/commitdiff
patch 8.1.2150: no test for 'ttymouse' set from xterm version response v8.1.2150
authorBram Moolenaar <Bram@vim.org>
Mon, 14 Oct 2019 20:22:03 +0000 (22:22 +0200)
committerBram Moolenaar <Bram@vim.org>
Mon, 14 Oct 2019 20:22:03 +0000 (22:22 +0200)
Problem:    No test for 'ttymouse' set from xterm version response.
Solution:   Test the three possible values.

src/testdir/test_termcodes.vim
src/version.c

index 1a10d62577c75ffd54ad03ca8202c5096f07d41f..0a4170e38b766d535ddd3d8b72f4ba6cf7d68f67 100644 (file)
@@ -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
index 3fc889e91d7dca574a6786d8f8c0c5a20f236bb4..a8dc70814232a103f130b6c44cc53a5ea5bd49da 100644 (file)
@@ -753,6 +753,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2150,
 /**/
     2149,
 /**/