Mercurial > vim
view src/testdir/test_changedtick.vim @ 10962:6da4287fd735 v8.0.0370
patch 8.0.0370: invalid memory access when setting wildchar empty
commit https://github.com/vim/vim/commit/a12e40351d1357687e8b5dc3122fffef705bdc08
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 25 21:37:57 2017 +0100
patch 8.0.0370: invalid memory access when setting wildchar empty
Problem: Invalid memory access when setting wildchar empty.
Solution: Avoid going over the end of the option value. (Dominique Pelle,
closes #1509) Make option test check all number options with
empty value.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 25 Feb 2017 21:45:04 +0100 |
parents | fd1760f8c215 |
children | 1f418d27e11f |
line wrap: on
line source
" 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_islocked() call assert_equal(0, islocked('b:changedtick')) let d = b: call assert_equal(0, islocked('d.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('lockvar b:changedtick', 'E940:') call assert_fails('lockvar b:["changedtick"]', 'E46:') call assert_fails('unlockvar b:changedtick', 'E940:') call assert_fails('unlockvar b:["changedtick"]', 'E46:') call assert_fails('unlet b:changedtick', 'E795:') call assert_fails('unlet b:["changedtick"]', 'E46:') let d = b: call assert_fails('lockvar d["changedtick"]', 'E46:') call assert_fails('unlockvar d["changedtick"]', 'E46:') call assert_fails('unlet d["changedtick"]', 'E46:') endfunc