]> granicus.if.org Git - vim/commitdiff
patch 8.1.1501: new behavior of b:changedtick not tested v8.1.1501
authorBram Moolenaar <Bram@vim.org>
Sat, 8 Jun 2019 18:48:36 +0000 (20:48 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 8 Jun 2019 18:48:36 +0000 (20:48 +0200)
Problem:    New behavior of b:changedtick not tested.
Solution:   Add a few test cases. (Daniel Hahler)

src/testdir/test_changedtick.vim
src/version.c

index 3a91bb54aa20363c6187e503c40c62dd6c63ee2d..c789cdc1bc61f8d66e6efd6e88e539bea1418dae 100644 (file)
@@ -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
index b0dcd3b11264137c8885d539edc5a2d873921711..3dcf0c6314416fd3b7de118055ff7d3a73787022 100644 (file)
@@ -767,6 +767,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1501,
 /**/
     1500,
 /**/