summaryrefslogtreecommitdiff
path: root/src/testdir/test_changedtick.vim
blob: f273f0f76ee2fde8e8879b6af6abac356f8df8b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
" Tests for b:changedtick

func Test_changedtick_increments()
  new
  " New buffer has an empty line, tick starts at 2.
  let expected = 2
  call assert_equal(expected, b:changedtick)
  call assert_equal(expected, b:['changedtick'])
  call setline(1, 'hello')
  let expected += 1
  call assert_equal(expected, b:changedtick)
  call assert_equal(expected, b:['changedtick'])
  undo
  " Somehow undo counts as two changes.
  let expected += 2
  call assert_equal(expected, b:changedtick)
  call assert_equal(expected, b:['changedtick'])
  bwipe!
endfunc

func Test_changedtick_dict_entry()
  let d = b:
  call assert_equal(b:changedtick, d['changedtick'])
endfunc

func Test_changedtick_bdel()
  new
  let bnr = bufnr('%')
  let v = b:changedtick
  bdel
  " Delete counts as a change too.
  call assert_equal(v + 1, getbufvar(bnr, 'changedtick'))
endfunc

func Test_changedtick_fixed()
  call assert_fails('let b:changedtick = 4', 'E46')
  call assert_fails('let b:["changedtick"] = 4', 'E46')

  call assert_fails('unlet b:changedtick', 'E795')
  call assert_fails('unlet b:["changedtick"]', 'E46')

  let d = b:
  call assert_fails('unlet d["changedtick"]', 'E46')

endfunc