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 #9258)
diff --git a/src/testdir/test_set.vim b/src/testdir/test_set.vim
index 7215772..4035248 100644
--- 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 @@
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