diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-03-25 21:13:46 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-03-25 21:13:46 +0100 |
commit | a07e31af545b91925362854a48c42fee16dd8c28 (patch) | |
tree | 08d3eb70b05cafe17862000dfbb7d56d57c94152 | |
parent | f66ca9f1df535c8042292ce20f4260cafc877670 (diff) | |
download | vim-git-a07e31af545b91925362854a48c42fee16dd8c28.tar.gz |
patch 8.2.0446: listener with undo of deleting all lines not testedv8.2.0446
Problem: Listener with undo of deleting all lines not tested.
Solution: Add a test.
-rw-r--r-- | src/testdir/test_listener.vim | 25 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/testdir/test_listener.vim b/src/testdir/test_listener.vim index 9c9ba7fe4..037242064 100644 --- a/src/testdir/test_listener.vim +++ b/src/testdir/test_listener.vim @@ -296,6 +296,31 @@ func Test_listener_undo_line_number() call listener_remove(lid) endfunc +func Test_listener_undo_delete_all() + new + call setline(1, [1, 2, 3, 4]) + let s:changes = [] + func s:ExtendList(bufnr, start, end, added, changes) + call extend(s:changes, a:changes) + endfunc + let id = listener_add('s:ExtendList') + + set undolevels& " start new undo block + normal! ggdG + undo + call listener_flush() + call assert_equal(2, s:changes->len()) + " delete removes four lines, empty line remains + call assert_equal({'lnum': 1, 'end': 5, 'col': 1, 'added': -4}, s:changes[0]) + " undo replaces empty line and adds 3 lines + call assert_equal({'lnum': 1, 'end': 2, 'col': 1, 'added': 3}, s:changes[1]) + + call listener_remove(id) + delfunc s:ExtendList + unlet s:changes + bwipe! +endfunc + func Test_listener_cleared_newbuf() func Listener(bufnr, start, end, added, changes) let g:gotCalled += 1 diff --git a/src/version.c b/src/version.c index f99097def..6b5e252a9 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 446, +/**/ 445, /**/ 444, |