Tests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar(). vim: set ft=vim : STARTTEST :so small.vim :" :" Test for getbufvar() :" Use strings to test for memory leaks. :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)) :" :" 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 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: