From d401539012f8222144b6873fd591baa232e8877c Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sat, 31 Aug 2019 14:26:49 +0200 Subject: vim-patch:8.1.1501: new behavior of b:changedtick not tested Problem: New behavior of b:changedtick not tested. Solution: Add a few test cases. (Daniel Hahler) https://github.com/vim/vim/commit/260addf7955f3695d3daef9dcf840952af9fd851 --- src/nvim/testdir/test_changedtick.vim | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src') diff --git a/src/nvim/testdir/test_changedtick.vim b/src/nvim/testdir/test_changedtick.vim index 3a91bb54aa..c789cdc1bc 100644 --- a/src/nvim/testdir/test_changedtick.vim +++ b/src/nvim/testdir/test_changedtick.vim @@ -55,3 +55,41 @@ func Test_changedtick_fixed() call assert_fails('unlet d["changedtick"]', 'E46:') endfunc + +func Test_changedtick_not_incremented_with_write() + new + let fname = "XChangeTick" + exe 'w ' .. fname + + " :write when the buffer is not changed does not increment changedtick + let expected = b:changedtick + w + call assert_equal(expected, b:changedtick) + + " :write when the buffer IS changed DOES increment changedtick + let expected = b:changedtick + 1 + setlocal modified + w + call assert_equal(expected, b:changedtick) + + " Two ticks: change + write + let expected = b:changedtick + 2 + call setline(1, 'hello') + w + call assert_equal(expected, b:changedtick) + + " Two ticks: start insert + write + let expected = b:changedtick + 2 + normal! o + w + call assert_equal(expected, b:changedtick) + + " Three ticks: start insert + change + write + let expected = b:changedtick + 3 + normal! ochanged + w + call assert_equal(expected, b:changedtick) + + bwipe + call delete(fname) +endfunc -- cgit