aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_changedtick.vim
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-09-04 17:03:57 -0700
committerGitHub <noreply@github.com>2019-09-04 17:03:57 -0700
commit632ee8d2ed6e307cc4d9ca2cf9e3ba0531a8af51 (patch)
treedfa1d1f1173fff6ac0e069f458b6e5956f31214e /src/nvim/testdir/test_changedtick.vim
parentd7aea13fee879a5e7854f2ebe9b7321cd8daf84f (diff)
parentd401539012f8222144b6873fd591baa232e8877c (diff)
downloadrneovim-632ee8d2ed6e307cc4d9ca2cf9e3ba0531a8af51.tar.gz
rneovim-632ee8d2ed6e307cc4d9ca2cf9e3ba0531a8af51.tar.bz2
rneovim-632ee8d2ed6e307cc4d9ca2cf9e3ba0531a8af51.zip
Merge #10946 from justinmk/vim-patchhhh
vim-patch:8.1.1498,8.1.1501: b:changedtick
Diffstat (limited to 'src/nvim/testdir/test_changedtick.vim')
-rw-r--r--src/nvim/testdir/test_changedtick.vim38
1 files changed, 38 insertions, 0 deletions
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