Mercurial > vim
diff src/testdir/test_listener.vim @ 16774:0cc3f459237b v8.1.1389
patch 8.1.1389: changes are not flushed when end and start overlap
commit https://github.com/vim/vim/commit/7b31a181c84ec6b9050892e80f3132907569f8d8
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri May 24 21:39:27 2019 +0200
patch 8.1.1389: changes are not flushed when end and start overlap
Problem: Changes are not flushed when end and start overlap. (Paul Jolly)
Solution: When end of a previous changes overlaps with start of a new
change, first flush listeners.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 24 May 2019 21:45:05 +0200 |
parents | 978bcd70883d |
children | 5493e31010e1 |
line wrap: on
line diff
--- a/src/testdir/test_listener.vim +++ b/src/testdir/test_listener.vim @@ -187,6 +187,17 @@ func Test_listener_args() \ {'lnum': 4, 'end': 5, 'col': 1, 'added': -1}, \ {'lnum': 6, 'end': 6, 'col': 1, 'added': 1}], s:list) + " split a line then insert one, should get two disconnected change lists + call setline(1, 'split here') + call listener_flush() + let s:list = [] + exe "normal 1ggwi\<CR>\<Esc>" + 1 + normal o + call assert_equal([{'lnum': 1, 'end': 2, 'col': 7, 'added': 1}], s:list) + call listener_flush() + call assert_equal([{'lnum': 2, 'end': 2, 'col': 1, 'added': 1}], s:list) + call listener_remove(id) bwipe! endfunc