Mercurial > vim
changeset 10049:efc8a434f38f v7.4.2296
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Aug 31 20:33:27 2016 +0200
patch 7.4.2296
Problem: No tests for :undolist and "U" command.
Solution: Add tests. (Dominique Pelle)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 31 Aug 2016 20:45:05 +0200 |
parents | 43efa4f5a8ea |
children | b702edc4b2b8 |
files | src/testdir/test_undo.vim src/version.c |
diffstat | 2 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/test_undo.vim +++ b/src/testdir/test_undo.vim @@ -129,6 +129,39 @@ func Test_undo_del_chars() close! endfunc +func Test_undolist() + new + set ul=100 + + let a=execute('undolist') + call assert_equal("\nNothing to undo", a) + + " 1 leaf (2 changes). + call feedkeys('achange1', 'xt') + call feedkeys('achange2', 'xt') + let a=execute('undolist') + call assert_match("^\nnumber changes when *saved\n *2 *2 .*$", a) + + " 2 leaves. + call feedkeys('u', 'xt') + call feedkeys('achange3\<Esc>', 'xt') + let a=execute('undolist') + call assert_match("^\nnumber changes when *saved\n *2 *2 *.*\n *3 *2 .*$", a) + close! +endfunc + +func Test_U_command() + new + set ul=100 + call feedkeys("achange1\<Esc>", 'xt') + call feedkeys("achange2\<Esc>", 'xt') + norm! U + call assert_equal('', getline(1)) + norm! U + call assert_equal('change1change2', getline(1)) + close! +endfunc + func Test_undojoin() new call feedkeys("Goaaaa\<Esc>", 'xt')