forked from aniani/vim
Problem: gettabvar() doesn't work after Vim start. (Szymon Wrozynski) Solution: Handle first window in tab still being NULL. (Christian Brabandt)
117 lines
3.2 KiB
Plaintext
117 lines
3.2 KiB
Plaintext
Tests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().
|
|
vim: set ft=vim :
|
|
|
|
STARTTEST
|
|
:so small.vim
|
|
:so mbyte.vim
|
|
:"
|
|
:" Use strings to test for memory leaks.
|
|
:" First, check that in an empty window, gettabvar() returns the correct value
|
|
:let t:testvar='abcd'
|
|
:$put =string(gettabvar(1,'testvar'))
|
|
:$put =string(gettabvar(1,'testvar'))
|
|
:" Test for getbufvar()
|
|
:let b:var_num = '1234'
|
|
:let def_num = '5678'
|
|
:$put =string(getbufvar(1, 'var_num'))
|
|
:$put =string(getbufvar(1, 'var_num', def_num))
|
|
:$put =string(getbufvar(1, ''))
|
|
:$put =string(getbufvar(1, '', def_num))
|
|
:unlet b:var_num
|
|
:$put =string(getbufvar(1, 'var_num', def_num))
|
|
:$put =string(getbufvar(1, ''))
|
|
:$put =string(getbufvar(1, '', def_num))
|
|
:$put =string(getbufvar(9, ''))
|
|
:$put =string(getbufvar(9, '', def_num))
|
|
:unlet def_num
|
|
:$put =string(getbufvar(1, '&autoindent'))
|
|
:$put =string(getbufvar(1, '&autoindent', 1))
|
|
:"
|
|
:" Open new window with forced option values
|
|
:set fileformats=unix,dos
|
|
:new ++ff=dos ++bin ++enc=iso-8859-2
|
|
:let otherff = getbufvar(bufnr('%'), '&fileformat')
|
|
:let otherbin = getbufvar(bufnr('%'), '&bin')
|
|
:let otherfenc = getbufvar(bufnr('%'), '&fenc')
|
|
:close
|
|
:$put =otherff
|
|
:$put =string(otherbin)
|
|
:$put =otherfenc
|
|
:unlet otherff otherbin otherfenc
|
|
:" test for getwinvar()
|
|
:let w:var_str = "Dance"
|
|
:let def_str = "Chance"
|
|
:$put =string(getwinvar(1, 'var_str'))
|
|
:$put =string(getwinvar(1, 'var_str', def_str))
|
|
:$put =string(getwinvar(1, ''))
|
|
:$put =string(getwinvar(1, '', def_str))
|
|
:unlet w:var_str
|
|
:$put =string(getwinvar(1, 'var_str', def_str))
|
|
:$put =string(getwinvar(1, ''))
|
|
:$put =string(getwinvar(1, '', def_str))
|
|
:$put =string(getwinvar(9, ''))
|
|
:$put =string(getwinvar(9, '', def_str))
|
|
:$put =string(getwinvar(1, '&nu'))
|
|
:$put =string(getwinvar(1, '&nu', 1))
|
|
:unlet def_str
|
|
:"
|
|
:" test for gettabvar()
|
|
:tabnew
|
|
:tabnew
|
|
:let t:var_list = [1, 2, 3]
|
|
:let t:other = 777
|
|
:let def_list = [4, 5, 6, 7]
|
|
:tabrewind
|
|
:$put =string(gettabvar(3, 'var_list'))
|
|
:$put =string(gettabvar(3, 'var_list', def_list))
|
|
:$put =string(gettabvar(3, ''))
|
|
:$put =string(gettabvar(3, '', def_list))
|
|
:tablast
|
|
:unlet t:var_list
|
|
:tabrewind
|
|
:$put =string(gettabvar(3, 'var_list', def_list))
|
|
:$put =string(gettabvar(9, ''))
|
|
:$put =string(gettabvar(9, '', def_list))
|
|
:$put =string(gettabvar(3, '&nu'))
|
|
:$put =string(gettabvar(3, '&nu', def_list))
|
|
:unlet def_list
|
|
:tabonly
|
|
:"
|
|
:" test for gettabwinvar()
|
|
:tabnew
|
|
:tabnew
|
|
:tabprev
|
|
:split
|
|
:split
|
|
:wincmd w
|
|
:vert split
|
|
:wincmd w
|
|
:let w:var_dict = {'dict': 'tabwin'}
|
|
:let def_dict = {'dict2': 'newval'}
|
|
:wincmd b
|
|
:tabrewind
|
|
:$put =string(gettabwinvar(2, 3, 'var_dict'))
|
|
:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
|
|
:$put =string(gettabwinvar(2, 3, ''))
|
|
:$put =string(gettabwinvar(2, 3, '', def_dict))
|
|
:tabnext
|
|
:3wincmd w
|
|
:unlet w:var_dict
|
|
:tabrewind
|
|
:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
|
|
:$put =string(gettabwinvar(2, 3, ''))
|
|
:$put =string(gettabwinvar(2, 3, '', def_dict))
|
|
:$put =string(gettabwinvar(2, 9, ''))
|
|
:$put =string(gettabwinvar(2, 9, '', def_dict))
|
|
:$put =string(gettabwinvar(9, 3, ''))
|
|
:$put =string(gettabwinvar(9, 3, '', def_dict))
|
|
:unlet def_dict
|
|
:$put =string(gettabwinvar(2, 3, '&nux'))
|
|
:$put =string(gettabwinvar(2, 3, '&nux', 1))
|
|
:tabonly
|
|
:"
|
|
:/^start/,$wq! test.out
|
|
ENDTEST
|
|
|
|
start:
|