diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-02-17 16:31:35 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-02-17 16:31:35 +0100 |
commit | 79518e2ace5fce7b9c49060e462a6e935dba0a84 (patch) | |
tree | 5a5b1284386ac2aff2f39f50238327a54b46a7c3 /src/testdir/test_changedtick.vim | |
parent | 226c53429109f24e31c17016aedfd7fbf7a9aa50 (diff) |
patch 8.0.0334: can't access b:changedtick from a dict referencev8.0.0334
Problem: Can't access b:changedtick from a dict reference.
Solution: Make changedtick a member of the b: dict. (inspired by neovim
#6112)
Diffstat (limited to 'src/testdir/test_changedtick.vim')
-rw-r--r-- | src/testdir/test_changedtick.vim | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/testdir/test_changedtick.vim b/src/testdir/test_changedtick.vim new file mode 100644 index 0000000000..f273f0f76e --- /dev/null +++ b/src/testdir/test_changedtick.vim @@ -0,0 +1,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 |