Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | # Based on iwidgets2.2.0/tests/scrolledlistbox.test code. |
2 | ||
3 | import Tkinter | |
4 | import Test | |
5 | import Pmw | |
6 | ||
7 | Test.initialise() | |
8 | ||
9 | c = Pmw.ScrolledListBox | |
10 | ||
11 | def _testYView(doBottom): | |
12 | w = Test.currentWidget() | |
13 | top, bottom = w.yview() | |
14 | if type(top) != type(0.0) or type(bottom) != type(0.0): | |
15 | return 'bad type ' + str(top) + ' ' + str(bottom) | |
16 | if doBottom: | |
17 | if bottom != 1.0: | |
18 | return 'bottom is ' + str(bottom) | |
19 | else: | |
20 | if top != 0.0: | |
21 | return 'top is ' + str(top) | |
22 | ||
23 | kw_1 = { | |
24 | 'labelpos': 'n', | |
25 | 'label_text': 'Start', | |
26 | 'listbox_height' : 20, | |
27 | 'listbox_width' : 40 | |
28 | } | |
29 | tests_1 = ( | |
30 | (c.pack, (), {'padx' : 10, 'pady' : 10, 'fill' : 'both', 'expand' : 1}), | |
31 | (Test.num_options, (), 9), | |
32 | ('label_text', 'ScrolledListBox'), | |
33 | ('listbox_height', 6), | |
34 | ('listbox_width', 20), | |
35 | ('listbox_borderwidth', 3), | |
36 | ('hscrollmode', 'none'), | |
37 | ('hscrollmode', 'static'), | |
38 | ('hscrollmode', 'dynamic'), | |
39 | (c.delete, (0, 'end')), | |
40 | (c.insert, ('end', 'Hello', 'World')), | |
41 | ('listbox_relief', 'raised'), | |
42 | ('listbox_relief', 'sunken'), | |
43 | ('Scrollbar_width', 20), | |
44 | ('Scrollbar_width', 15), | |
45 | ('listbox_background', 'GhostWhite'), | |
46 | ('listbox_selectborderwidth', 3), | |
47 | ('listbox_selectforeground', 'blue'), | |
48 | ('listbox_selectmode', 'browse'), | |
49 | ('listbox_selectmode', 'extended'), | |
50 | ('listbox_selectmode', 'single'), | |
51 | ('listbox_selectmode', 'multiple'), | |
52 | ('listbox_font', Test.font['small']), | |
53 | ('vscrollmode', 'none'), | |
54 | ('vscrollmode', 'static'), | |
55 | ('vscrollmode', 'dynamic'), | |
56 | ('listbox_width', 30), | |
57 | ('listbox_height', 20), | |
58 | ('vscrollmode', 'bogus', 'ValueError: bad vscrollmode option "bogus": ' + \ | |
59 | 'should be static, dynamic, or none'), | |
60 | ('hscrollmode', 'bogus', 'ValueError: bad hscrollmode option "bogus": ' + \ | |
61 | 'should be static, dynamic, or none'), | |
62 | (c.cget, 'vscrollmode', 'bogus'), | |
63 | (c.cget, 'hscrollmode', 'bogus'), | |
64 | ('vscrollmode', 'dynamic'), | |
65 | ('hscrollmode', 'dynamic'), | |
66 | (c.insert, (0, 'Test', 'Test', 'Test', 'Test')), | |
67 | (c.insert, ('end', 'More Test')), | |
68 | (c.delete, 1), | |
69 | (c.delete, (0, 3)), | |
70 | ('listbox_exportselection', 0), | |
71 | (c.select_set, 0), | |
72 | (c.select_set, (0, 1)), | |
73 | (c.getcurselection, (), ('World', 'More Test')), | |
74 | (c.select_clear, (0, 'end')), | |
75 | (c.getcurselection, (), ()), | |
76 | (c.delete, (0, 'end')), | |
77 | (c.get, (0, 'end'), ()), | |
78 | (c.insert, ('end', 'Test', 'Test', 'Long String Test')), | |
79 | (c.get, (0, 'end'), ('Test', 'Test', 'Long String Test')), | |
80 | (c.insert, (0, 'Test', 'Test A')), | |
81 | (c.get, (0, 'end'), ('Test', 'Test A', 'Test', 'Test', 'Long String Test')), | |
82 | (c.insert, (1, 'Test', 'Test', 'Long String Test')), | |
83 | (c.get, (0, 4), ('Test', 'Test', 'Test', 'Long String Test', 'Test A')), | |
84 | (c.insert, (5, 'Test', 'Test', | |
85 | 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')), | |
86 | (c.get, 7, 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'), | |
87 | (c.get, 'end', 'Long String Test'), | |
88 | (c.size, (), 11), | |
89 | (c.delete, (3, 2)), | |
90 | (c.size, (), 11), | |
91 | (c.delete, (3, 3)), | |
92 | (c.size, (), 10), | |
93 | (c.clear, ()), | |
94 | (c.size, (), 0), | |
95 | (c.get, (), ()), | |
96 | (c.yview, ('moveto', 0.0)), | |
97 | (_testYView, 0), | |
98 | (c.insert, ('end', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10')), | |
99 | (c.insert, ('end', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10')), | |
100 | (c.insert, ('end', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10')), | |
101 | (c.insert, ('end', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10')), | |
102 | (_testYView, 0), | |
103 | (c.yview, ('moveto', 0.02)), | |
104 | (c.yview, ('moveto', 0.04)), | |
105 | (c.yview, ('moveto', 0.06)), | |
106 | (c.yview, ('moveto', 0.08)), | |
107 | (c.yview, ('moveto', 0.10)), | |
108 | (c.yview, ('moveto', 0.12)), | |
109 | (c.yview, ('moveto', 0.14)), | |
110 | (c.yview, ('moveto', 0.16)), | |
111 | (c.yview, ('moveto', 0.18)), | |
112 | (c.yview, ('moveto', 0.20)), | |
113 | (c.yview, ('moveto', 0.22)), | |
114 | (c.yview, ('moveto', 0.24)), | |
115 | (c.yview, ('moveto', 0.26)), | |
116 | (c.yview, ('moveto', 0.28)), | |
117 | (c.yview, ('moveto', 0.98)), | |
118 | (_testYView, 1), | |
119 | (c.yview, ('scroll', -1, 'page')), | |
120 | (c.yview, ('scroll', -1, 'page')), | |
121 | (c.yview, ('scroll', -1, 'page')), | |
122 | (_testYView, 0), | |
123 | (c.yview, ('scroll', 1, 'page')), | |
124 | (c.yview, ('scroll', 1, 'page')), | |
125 | (c.yview, ('scroll', 1, 'page')), | |
126 | (_testYView, 1), | |
127 | ) | |
128 | ||
129 | tests_2 = ( | |
130 | (c.pack, (), {'padx' : 10, 'pady' : 10, 'fill' : 'both', 'expand' : 1}), | |
131 | ) | |
132 | ||
133 | alltests = [(tests_1, kw_1)] | |
134 | ||
135 | poslist = ('nw', 'n', 'ne', 'en', 'e', 'es', 'se', 's', 'sw', 'ws', 'w', 'wn',) | |
136 | for pos in poslist: | |
137 | kw_2 = { | |
138 | 'listbox_selectmode' : 'extended', | |
139 | 'items' : ('Hello', 'Out There', 'World'), | |
140 | 'vscrollmode' : 'static', | |
141 | 'hscrollmode' : 'dynamic', | |
142 | 'label_text' : 'List', | |
143 | 'labelpos' : pos, | |
144 | 'scrollmargin': 10, | |
145 | } | |
146 | alltests.append((tests_2, kw_2)) | |
147 | ||
148 | testData = ((c, alltests),) | |
149 | ||
150 | if __name__ == '__main__': | |
151 | Test.runTests(testData) |