blob: c184ac3f7c50990687b960a53e2b4a53a00daf02 [file] [log] [blame]
Bram Moolenaar79518e22017-02-17 16:31:35 +01001Tests for getwinvar(), gettabvar() and gettabwinvar().
Bram Moolenaar63dbda12013-02-20 21:12:10 +01002vim: 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'))
Bram Moolenaar63dbda12013-02-20 21:12:10 +010013:"
Bram Moolenaar63dbda12013-02-20 21:12:10 +010014:" test for getwinvar()
15:let w:var_str = "Dance"
16:let def_str = "Chance"
17:$put =string(getwinvar(1, 'var_str'))
18:$put =string(getwinvar(1, 'var_str', def_str))
19:$put =string(getwinvar(1, ''))
20:$put =string(getwinvar(1, '', def_str))
21:unlet w:var_str
22:$put =string(getwinvar(1, 'var_str', def_str))
23:$put =string(getwinvar(1, ''))
24:$put =string(getwinvar(1, '', def_str))
25:$put =string(getwinvar(9, ''))
26:$put =string(getwinvar(9, '', def_str))
27:$put =string(getwinvar(1, '&nu'))
28:$put =string(getwinvar(1, '&nu', 1))
29:unlet def_str
30:"
31:" test for gettabvar()
32:tabnew
33:tabnew
34:let t:var_list = [1, 2, 3]
Bram Moolenaar0e2ea1b2014-09-09 16:13:08 +020035:let t:other = 777
Bram Moolenaar63dbda12013-02-20 21:12:10 +010036:let def_list = [4, 5, 6, 7]
37:tabrewind
38:$put =string(gettabvar(3, 'var_list'))
39:$put =string(gettabvar(3, 'var_list', def_list))
40:$put =string(gettabvar(3, ''))
41:$put =string(gettabvar(3, '', def_list))
42:tablast
43:unlet t:var_list
44:tabrewind
45:$put =string(gettabvar(3, 'var_list', def_list))
46:$put =string(gettabvar(9, ''))
47:$put =string(gettabvar(9, '', def_list))
48:$put =string(gettabvar(3, '&nu'))
49:$put =string(gettabvar(3, '&nu', def_list))
50:unlet def_list
51:tabonly
52:"
53:" test for gettabwinvar()
54:tabnew
55:tabnew
56:tabprev
57:split
58:split
59:wincmd w
60:vert split
61:wincmd w
62:let w:var_dict = {'dict': 'tabwin'}
63:let def_dict = {'dict2': 'newval'}
64:wincmd b
65:tabrewind
66:$put =string(gettabwinvar(2, 3, 'var_dict'))
67:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
68:$put =string(gettabwinvar(2, 3, ''))
69:$put =string(gettabwinvar(2, 3, '', def_dict))
70:tabnext
71:3wincmd w
72:unlet w:var_dict
73:tabrewind
74:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
75:$put =string(gettabwinvar(2, 3, ''))
76:$put =string(gettabwinvar(2, 3, '', def_dict))
77:$put =string(gettabwinvar(2, 9, ''))
78:$put =string(gettabwinvar(2, 9, '', def_dict))
79:$put =string(gettabwinvar(9, 3, ''))
80:$put =string(gettabwinvar(9, 3, '', def_dict))
81:unlet def_dict
82:$put =string(gettabwinvar(2, 3, '&nux'))
83:$put =string(gettabwinvar(2, 3, '&nux', 1))
84:tabonly
85:"
86:/^start/,$wq! test.out
87ENDTEST
88
89start: