1 " Tests for b:changedtick
3 func Test_changedtick_increments()
5 " New buffer has an empty line, tick starts at 2.
7 call assert_equal(expected, b:changedtick)
8 call assert_equal(expected, b:['changedtick'])
9 call setline(1, 'hello')
11 call assert_equal(expected, b:changedtick)
12 call assert_equal(expected, b:['changedtick'])
14 " Somehow undo counts as two changes.
16 call assert_equal(expected, b:changedtick)
17 call assert_equal(expected, b:['changedtick'])
21 func Test_changedtick_dict_entry()
23 call assert_equal(b:changedtick, d['changedtick'])
26 func Test_changedtick_bdel()
31 " Delete counts as a change too.
32 call assert_equal(v + 1, getbufvar(bnr, 'changedtick'))
35 func Test_changedtick_islocked()
36 call assert_equal(0, islocked('b:changedtick'))
38 call assert_equal(0, islocked('d.changedtick'))
41 func Test_changedtick_fixed()
42 call assert_fails('let b:changedtick = 4', 'E46:')
43 call assert_fails('let b:["changedtick"] = 4', 'E46:')
45 call assert_fails('lockvar b:changedtick', 'E940:')
46 call assert_fails('lockvar b:["changedtick"]', 'E46:')
47 call assert_fails('unlockvar b:changedtick', 'E940:')
48 call assert_fails('unlockvar b:["changedtick"]', 'E46:')
49 call assert_fails('unlet b:changedtick', 'E795:')
50 call assert_fails('unlet b:["changedtick"]', 'E46:')
53 call assert_fails('lockvar d["changedtick"]', 'E46:')
54 call assert_fails('unlockvar d["changedtick"]', 'E46:')
55 call assert_fails('unlet d["changedtick"]', 'E46:')