diff src/testdir/test_set.vim @ 26400:d26bab4f6aca v8.2.3731

patch 8.2.3731: "set! termcap" shows codes in one column, but not keys Commit: https://github.com/vim/vim/commit/15a24f08987e3831be255333bb84b7bc9c00db24 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Dec 3 20:43:24 2021 +0000 patch 8.2.3731: "set! termcap" shows codes in one column, but not keys Problem: "set! termcap" shows codes in one column, but not keys. Solution: Also use one column for keys. (closes https://github.com/vim/vim/issues/9258)
author Bram Moolenaar <Bram@vim.org>
date Fri, 03 Dec 2021 21:45:03 +0100
parents dd98794f7d8c
children 9a7fb0665f9f
line wrap: on
line diff
--- a/src/testdir/test_set.vim
+++ b/src/testdir/test_set.vim
@@ -1,5 +1,7 @@
 " Tests for the :set command
 
+source check.vim
+
 function Test_set_backslash()
   let isk_save = &isk
 
@@ -45,4 +47,32 @@ func Test_set_no_arg()
   setglobal textwidth&
 endfunc
 
+func Test_set_termcap()
+  CheckNotGui
+
+  let lines = split(execute('set termcap'), "\n")
+  call assert_match('--- Terminal codes ---', lines[0])
+  " four columns
+  call assert_match('t_..=.*t_..=.*t_..=.*t_..=', lines[1])
+
+  for keys_idx in range(len(lines))
+    if lines[keys_idx] =~ '--- Terminal keys ---'
+      break
+    endif
+  endfor
+  call assert_true(keys_idx < len(lines))
+  " three columns
+  call assert_match('t_.. .*t_.. .*t_.. ', lines[keys_idx + 1])
+
+  let more_lines = split(execute('set! termcap'), "\n")
+  for i in range(len(more_lines))
+    if more_lines[i] =~ '--- Terminal keys ---'
+      break
+    endif
+  endfor
+  call assert_true(i < len(more_lines))
+  call assert_true(i > keys_idx)
+  call assert_true(len(more_lines) - i > len(lines) - keys_idx)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab