blob: f273f0f76ee2fde8e8879b6af6abac356f8df8b8 [file] [log] [blame]
Bram Moolenaar79518e22017-02-17 16:31:35 +01001" 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