blob: e900a522dfa9f7e51d31a08b6159bb1ce0926ed8 [file] [log] [blame]
Bram Moolenaar63dbda12013-02-20 21:12:10 +01001Tests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().
2vim: set ft=vim :
3
4STARTTEST
5:so small.vim
Bram Moolenaarad875fb2013-07-24 15:02:03 +02006:so mbyte.vim
Bram Moolenaar63dbda12013-02-20 21:12:10 +01007:"
Bram Moolenaar54c34fa2013-04-15 15:15:35 +02008:" Test for getbufvar()
9:" Use strings to test for memory leaks.
10:let b:var_num = '1234'
11:let def_num = '5678'
Bram Moolenaar63dbda12013-02-20 21:12:10 +010012:$put =string(getbufvar(1, 'var_num'))
13:$put =string(getbufvar(1, 'var_num', def_num))
14:$put =string(getbufvar(1, ''))
15:$put =string(getbufvar(1, '', def_num))
16:unlet b:var_num
17:$put =string(getbufvar(1, 'var_num', def_num))
18:$put =string(getbufvar(1, ''))
19:$put =string(getbufvar(1, '', def_num))
20:$put =string(getbufvar(9, ''))
21:$put =string(getbufvar(9, '', def_num))
22:unlet def_num
23:$put =string(getbufvar(1, '&autoindent'))
24:$put =string(getbufvar(1, '&autoindent', 1))
25:"
Bram Moolenaarad875fb2013-07-24 15:02:03 +020026:" Open new window with forced option values
27:set fileformats=unix,dos
28:new ++ff=dos ++bin ++enc=iso-8859-2
29:let otherff = getbufvar(bufnr('%'), '&fileformat')
30:let otherbin = getbufvar(bufnr('%'), '&bin')
31:let otherfenc = getbufvar(bufnr('%'), '&fenc')
32:close
33:$put =otherff
34:$put =string(otherbin)
35:$put =otherfenc
36:unlet otherff otherbin otherfenc
Bram Moolenaar63dbda12013-02-20 21:12:10 +010037:" test for getwinvar()
38:let w:var_str = "Dance"
39:let def_str = "Chance"
40:$put =string(getwinvar(1, 'var_str'))
41:$put =string(getwinvar(1, 'var_str', def_str))
42:$put =string(getwinvar(1, ''))
43:$put =string(getwinvar(1, '', def_str))
44:unlet w:var_str
45:$put =string(getwinvar(1, 'var_str', def_str))
46:$put =string(getwinvar(1, ''))
47:$put =string(getwinvar(1, '', def_str))
48:$put =string(getwinvar(9, ''))
49:$put =string(getwinvar(9, '', def_str))
50:$put =string(getwinvar(1, '&nu'))
51:$put =string(getwinvar(1, '&nu', 1))
52:unlet def_str
53:"
54:" test for gettabvar()
55:tabnew
56:tabnew
57:let t:var_list = [1, 2, 3]
58:let def_list = [4, 5, 6, 7]
59:tabrewind
60:$put =string(gettabvar(3, 'var_list'))
61:$put =string(gettabvar(3, 'var_list', def_list))
62:$put =string(gettabvar(3, ''))
63:$put =string(gettabvar(3, '', def_list))
64:tablast
65:unlet t:var_list
66:tabrewind
67:$put =string(gettabvar(3, 'var_list', def_list))
68:$put =string(gettabvar(9, ''))
69:$put =string(gettabvar(9, '', def_list))
70:$put =string(gettabvar(3, '&nu'))
71:$put =string(gettabvar(3, '&nu', def_list))
72:unlet def_list
73:tabonly
74:"
75:" test for gettabwinvar()
76:tabnew
77:tabnew
78:tabprev
79:split
80:split
81:wincmd w
82:vert split
83:wincmd w
84:let w:var_dict = {'dict': 'tabwin'}
85:let def_dict = {'dict2': 'newval'}
86:wincmd b
87:tabrewind
88:$put =string(gettabwinvar(2, 3, 'var_dict'))
89:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
90:$put =string(gettabwinvar(2, 3, ''))
91:$put =string(gettabwinvar(2, 3, '', def_dict))
92:tabnext
93:3wincmd w
94:unlet w:var_dict
95:tabrewind
96:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
97:$put =string(gettabwinvar(2, 3, ''))
98:$put =string(gettabwinvar(2, 3, '', def_dict))
99:$put =string(gettabwinvar(2, 9, ''))
100:$put =string(gettabwinvar(2, 9, '', def_dict))
101:$put =string(gettabwinvar(9, 3, ''))
102:$put =string(gettabwinvar(9, 3, '', def_dict))
103:unlet def_dict
104:$put =string(gettabwinvar(2, 3, '&nux'))
105:$put =string(gettabwinvar(2, 3, '&nux', 1))
106:tabonly
107:"
108:/^start/,$wq! test.out
109ENDTEST
110
111start: