blob: e1365cb74fe0a0048ee23e88c020da15e82204bb [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:" Use strings to test for memory leaks.
Bram Moolenaar7e47d1a2015-08-25 16:19:05 +02009:" First, check that in an empty window, gettabvar() returns the correct value
10:let t:testvar='abcd'
11:$put =string(gettabvar(1,'testvar'))
12:$put =string(gettabvar(1,'testvar'))
13:" Test for getbufvar()
Bram Moolenaar54c34fa2013-04-15 15:15:35 +020014:let b:var_num = '1234'
15:let def_num = '5678'
Bram Moolenaar63dbda12013-02-20 21:12:10 +010016:$put =string(getbufvar(1, 'var_num'))
17:$put =string(getbufvar(1, 'var_num', def_num))
18:$put =string(getbufvar(1, ''))
19:$put =string(getbufvar(1, '', def_num))
20:unlet b:var_num
21:$put =string(getbufvar(1, 'var_num', def_num))
22:$put =string(getbufvar(1, ''))
23:$put =string(getbufvar(1, '', def_num))
24:$put =string(getbufvar(9, ''))
25:$put =string(getbufvar(9, '', def_num))
26:unlet def_num
27:$put =string(getbufvar(1, '&autoindent'))
28:$put =string(getbufvar(1, '&autoindent', 1))
29:"
Bram Moolenaarad875fb2013-07-24 15:02:03 +020030:" Open new window with forced option values
31:set fileformats=unix,dos
32:new ++ff=dos ++bin ++enc=iso-8859-2
33:let otherff = getbufvar(bufnr('%'), '&fileformat')
34:let otherbin = getbufvar(bufnr('%'), '&bin')
35:let otherfenc = getbufvar(bufnr('%'), '&fenc')
36:close
37:$put =otherff
38:$put =string(otherbin)
39:$put =otherfenc
40:unlet otherff otherbin otherfenc
Bram Moolenaar63dbda12013-02-20 21:12:10 +010041:" test for getwinvar()
42:let w:var_str = "Dance"
43:let def_str = "Chance"
44:$put =string(getwinvar(1, 'var_str'))
45:$put =string(getwinvar(1, 'var_str', def_str))
46:$put =string(getwinvar(1, ''))
47:$put =string(getwinvar(1, '', def_str))
48:unlet w:var_str
49:$put =string(getwinvar(1, 'var_str', def_str))
50:$put =string(getwinvar(1, ''))
51:$put =string(getwinvar(1, '', def_str))
52:$put =string(getwinvar(9, ''))
53:$put =string(getwinvar(9, '', def_str))
54:$put =string(getwinvar(1, '&nu'))
55:$put =string(getwinvar(1, '&nu', 1))
56:unlet def_str
57:"
58:" test for gettabvar()
59:tabnew
60:tabnew
61:let t:var_list = [1, 2, 3]
Bram Moolenaar0e2ea1b2014-09-09 16:13:08 +020062:let t:other = 777
Bram Moolenaar63dbda12013-02-20 21:12:10 +010063:let def_list = [4, 5, 6, 7]
64:tabrewind
65:$put =string(gettabvar(3, 'var_list'))
66:$put =string(gettabvar(3, 'var_list', def_list))
67:$put =string(gettabvar(3, ''))
68:$put =string(gettabvar(3, '', def_list))
69:tablast
70:unlet t:var_list
71:tabrewind
72:$put =string(gettabvar(3, 'var_list', def_list))
73:$put =string(gettabvar(9, ''))
74:$put =string(gettabvar(9, '', def_list))
75:$put =string(gettabvar(3, '&nu'))
76:$put =string(gettabvar(3, '&nu', def_list))
77:unlet def_list
78:tabonly
79:"
80:" test for gettabwinvar()
81:tabnew
82:tabnew
83:tabprev
84:split
85:split
86:wincmd w
87:vert split
88:wincmd w
89:let w:var_dict = {'dict': 'tabwin'}
90:let def_dict = {'dict2': 'newval'}
91:wincmd b
92:tabrewind
93:$put =string(gettabwinvar(2, 3, 'var_dict'))
94:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
95:$put =string(gettabwinvar(2, 3, ''))
96:$put =string(gettabwinvar(2, 3, '', def_dict))
97:tabnext
98:3wincmd w
99:unlet w:var_dict
100:tabrewind
101:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
102:$put =string(gettabwinvar(2, 3, ''))
103:$put =string(gettabwinvar(2, 3, '', def_dict))
104:$put =string(gettabwinvar(2, 9, ''))
105:$put =string(gettabwinvar(2, 9, '', def_dict))
106:$put =string(gettabwinvar(9, 3, ''))
107:$put =string(gettabwinvar(9, 3, '', def_dict))
108:unlet def_dict
109:$put =string(gettabwinvar(2, 3, '&nux'))
110:$put =string(gettabwinvar(2, 3, '&nux', 1))
111:tabonly
112:"
113:/^start/,$wq! test.out
114ENDTEST
115
116start: