blob: b66776b1e45fcd6dd3175a456f1b47cb5d849f18 [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]
Bram Moolenaar0e2ea1b2014-09-09 16:13:08 +020058:let t:other = 777
Bram Moolenaar63dbda12013-02-20 21:12:10 +010059:let def_list = [4, 5, 6, 7]
60:tabrewind
61:$put =string(gettabvar(3, 'var_list'))
62:$put =string(gettabvar(3, 'var_list', def_list))
63:$put =string(gettabvar(3, ''))
64:$put =string(gettabvar(3, '', def_list))
65:tablast
66:unlet t:var_list
67:tabrewind
68:$put =string(gettabvar(3, 'var_list', def_list))
69:$put =string(gettabvar(9, ''))
70:$put =string(gettabvar(9, '', def_list))
71:$put =string(gettabvar(3, '&nu'))
72:$put =string(gettabvar(3, '&nu', def_list))
73:unlet def_list
74:tabonly
75:"
76:" test for gettabwinvar()
77:tabnew
78:tabnew
79:tabprev
80:split
81:split
82:wincmd w
83:vert split
84:wincmd w
85:let w:var_dict = {'dict': 'tabwin'}
86:let def_dict = {'dict2': 'newval'}
87:wincmd b
88:tabrewind
89:$put =string(gettabwinvar(2, 3, 'var_dict'))
90:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
91:$put =string(gettabwinvar(2, 3, ''))
92:$put =string(gettabwinvar(2, 3, '', def_dict))
93:tabnext
94:3wincmd w
95:unlet w:var_dict
96:tabrewind
97:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
98:$put =string(gettabwinvar(2, 3, ''))
99:$put =string(gettabwinvar(2, 3, '', def_dict))
100:$put =string(gettabwinvar(2, 9, ''))
101:$put =string(gettabwinvar(2, 9, '', def_dict))
102:$put =string(gettabwinvar(9, 3, ''))
103:$put =string(gettabwinvar(9, 3, '', def_dict))
104:unlet def_dict
105:$put =string(gettabwinvar(2, 3, '&nux'))
106:$put =string(gettabwinvar(2, 3, '&nux', 1))
107:tabonly
108:"
109:/^start/,$wq! test.out
110ENDTEST
111
112start: