Mercurial > vim
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