Mercurial > vim
view src/testdir/test_unlet.vim @ 34682:a36144b38683 v9.1.0222
patch 9.1.0222: missing 'below' virt text if truncation precedes after/right text
Commit: https://github.com/vim/vim/commit/fe0a76b2bca12b13982ad66bafadc0d6c1681d00
Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Date: Thu Mar 28 11:47:32 2024 +0100
patch 9.1.0222: missing 'below' virt text if truncation precedes after/right text
Problem: When a line is truncated just before 'after'/'right' virtual
text and the line also has 'below' virtual text, then the
'below' virtual text would not be displayed, depending on the
order these text properties were added.
Solution: In the loop to make text properties active, skip instead of
break for 'after'/'right' virtual text properties that are
ignored due to truncation, so following 'below' text
properties can still be made active.
Similarly, a loop is needed to determine if a text property
follows at the end of the screen. (Dylan Thacker-Smith)
related: #14307
Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Mar 2024 12:00:04 +0100 |
parents | 0b35a7ffceb2 |
children |
line wrap: on
line source
" Tests for :unlet func Test_read_only() " these caused a crash call assert_fails('unlet count', 'E795:') call assert_fails('unlet errmsg', 'E795:') endfunc func Test_existing() let does_exist = 1 call assert_true(exists('does_exist')) unlet does_exist call assert_false(exists('does_exist')) endfunc func Test_not_existing() unlet! does_not_exist call assert_fails('unlet does_not_exist', 'E108:') endfunc func Test_unlet_fails() call assert_fails('unlet v:["count"]', 'E46:') call assert_fails('unlet $', 'E475:') let v = {} call assert_fails('unlet v[:]', 'E719:') let l = [] call assert_fails("unlet l['k'", 'E111:') let d = {'k' : 1} call assert_fails("unlet d.k2", 'E716:') call assert_fails("unlet {a};", 'E488:') endfunc func Test_unlet_env() let envcmd = has('win32') ? 'set' : 'env' let $FOOBAR = 'test' let found = 0 for kv in split(system(envcmd), "\r*\n") if kv == 'FOOBAR=test' let found = 1 endif endfor call assert_equal(1, found) unlet $FOOBAR let found = 0 for kv in split(system(envcmd), "\r*\n") if kv == 'FOOBAR=test' let found = 1 endif endfor call assert_equal(0, found) unlet $MUST_NOT_BE_AN_ERROR endfunc func Test_unlet_complete() let g:FOOBAR = 1 call feedkeys(":unlet g:FOO\t\n", 'tx') call assert_true(!exists('g:FOOBAR')) let $FOOBAR = 1 call feedkeys(":unlet $FOO\t\n", 'tx') call assert_true(!exists('$FOOBAR') || empty($FOOBAR)) endfunc " vim: shiftwidth=2 sts=2 expandtab