1" Tests for b:changedtick 2 3func Test_changedtick_increments() 4 new 5 " New buffer has an empty line, tick starts at 2. 6 let expected = 2 7 call assert_equal(expected, b:changedtick) 8 call assert_equal(expected, b:['changedtick']) 9 call setline(1, 'hello') 10 let expected += 1 11 call assert_equal(expected, b:changedtick) 12 call assert_equal(expected, b:['changedtick']) 13 undo 14 " Somehow undo counts as two changes. 15 let expected += 2 16 call assert_equal(expected, b:changedtick) 17 call assert_equal(expected, b:['changedtick']) 18 bwipe! 19endfunc 20 21func Test_changedtick_dict_entry() 22 let d = b: 23 call assert_equal(b:changedtick, d['changedtick']) 24endfunc 25 26func Test_changedtick_bdel() 27 new 28 let bnr = bufnr('%') 29 let v = b:changedtick 30 bdel 31 " Delete counts as a change too. 32 call assert_equal(v + 1, getbufvar(bnr, 'changedtick')) 33endfunc 34 35func Test_changedtick_fixed() 36 call assert_fails('let b:changedtick = 4', 'E46') 37 call assert_fails('let b:["changedtick"] = 4', 'E46') 38 39 call assert_fails('unlet b:changedtick', 'E795') 40 call assert_fails('unlet b:["changedtick"]', 'E46') 41 42 let d = b: 43 call assert_fails('unlet d["changedtick"]', 'E46') 44 45endfunc 46