Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / lib / python2.4 / site-packages / Pmw / Pmw_1_2 / tests / NoteBook_test.py
CommitLineData
920dae64
AT
1import Tkinter
2import Test
3import Pmw
4
5Test.initialise()
6
7c = Pmw.NoteBook
8
9class callbackCollector:
10 def __init__(self):
11 self.list = []
12 def __call__(self, pageName):
13 self.list.append(pageName)
14 def get(self):
15 rtn = self.list
16 self.list = []
17 return rtn
18
19createCallback = callbackCollector()
20raiseCallback = callbackCollector()
21lowerCallback = callbackCollector()
22
23def checkCallbacks(clear = 0):
24 rtn = createCallback.get(), raiseCallback.get(), lowerCallback.get()
25 if not clear:
26 return rtn
27
28def _populatePage(pageName):
29 w = Test.currentWidget()
30 page = w.page(pageName)
31 text = Tkinter.Text(page)
32 text.pack()
33 return w.pagenames()[w.index(pageName)]
34
35def _getTopPageName():
36 w = Test.currentWidget()
37 return w._topPageName
38
39kw_1 = {'tabpos' : None}
40tests_1_common = (
41 (Test.num_options, (), 7),
42 ('createcommand', createCallback),
43 ('raisecommand', raiseCallback),
44 ('lowercommand', lowerCallback),
45 (checkCallbacks, 1),
46 (c.index, Pmw.END, 'ValueError: NoteBook has no pages'),
47 (c.index, Pmw.SELECT, 'ValueError: NoteBook has no pages'),
48 (c.setnaturalsize, ()),
49 (c.getcurselection, ()),
50 (c.insert, ('Temp', 0), {'page_pyclass' : Tkinter.Canvas}, Tkinter.Canvas),
51 (checkCallbacks, (), (['Temp'], ['Temp'], [])),
52 (c.getcurselection, (), 'Temp'),
53 (c.setnaturalsize, ()),
54 (c.delete, 'Temp'),
55 (checkCallbacks, (), ([], [], [])),
56 (c.getcurselection, ()),
57 (c.insert, ('Temp', Pmw.END), Tkinter.Frame),
58 (checkCallbacks, (), (['Temp'], ['Temp'], [])),
59 (c.delete, 'Temp'),
60 (c.add, 'Start', Tkinter.Frame),
61 ('Start_background', 'green'),
62 (c.insert, ('Final', Pmw.END), {'page_background' : 'blue'}, Tkinter.Frame),
63 (c.insert, ('Middle', 'Final'), Tkinter.Frame),
64 (c.index, Pmw.SELECT, 0),
65 (c.insert, ('First', 'Start'), Tkinter.Frame),
66 (c.index, Pmw.SELECT, 1),
67 (c.getcurselection, (), 'Start'),
68 (c.selectpage, Pmw.END),
69 (checkCallbacks, (), (['Start', 'Final'], ['Start', 'Final'], ['Start'])),
70 (c.index, Pmw.SELECT, 3),
71 (c.getcurselection, (), 'Final'),
72 (c.recolorborders, ()),
73 (c.selectpage, 2),
74 (c.index, Pmw.SELECT, 2),
75 (c.getcurselection, (), 'Middle'),
76 (checkCallbacks, (), (['Middle'], ['Middle'], ['Final'])),
77 (c.selectpage, 3),
78 (c.selectpage, 2),
79 (checkCallbacks, (), ([], ['Final', 'Middle'], ['Middle', 'Final'])),
80 (c.selectpage, 'Final'),
81 (c.index, Pmw.SELECT, 3),
82 (c.getcurselection, (), 'Final'),
83 (c.add, 'Last', Tkinter.Frame),
84 (c.pagenames, (), ['First', 'Start', 'Middle', 'Final', 'Last']),
85 (c.setnaturalsize, ()),
86 (_populatePage, Pmw.SELECT, 'Final'),
87 (_populatePage, 'Middle', 'Middle'),
88 (c.setnaturalsize, ()),
89 (c.add, 'Start', 'ValueError: Page "Start" already exists.'),
90 ('Page_background', 'yellow'),
91 (c.index, 1, 1),
92 (c.index, 10, 'ValueError: index "10" is out of range'),
93 (c.index, Pmw.END, 4),
94 (c.index, 'First', 0),
95 (c.index, 'Middle', 2),
96 (c.index, 'bogus', 'ValueError: bad index "bogus": ' + \
97 'must be a name, a number, Pmw.END or Pmw.SELECT'),
98 (c.previouspage, ()),
99 (c.getcurselection, (), 'Middle'),
100 (c.previouspage, 'Start'),
101 (c.getcurselection, (), 'First'),
102 (c.nextpage, ()),
103 (c.getcurselection, (), 'Start'),
104 (c.nextpage, 'Middle'),
105 (c.getcurselection, (), 'Final'),
106 (c.delete, ('First', 'Start', 'Middle', 'Final', 'Last')),
107 (c.add, 'Temp', {'page_pyclass' : Tkinter.Button}, Tkinter.Button),
108 (c.delete, 'Temp'),
109 (c.add, 'Temp', {'page_pyclass' : Tkinter.Text}, Tkinter.Text),
110 (c.delete, 'Temp'),
111 (c.add, 'Temp', {'page_pyclass' : Pmw.ScrolledText,
112 'page_vscrollmode' : 'static', 'page_text_state' : 'disabled'},
113 Pmw.ScrolledText),
114 ('Temp_text_background', 'red'),
115 (c.page, 'Temp', Pmw.ScrolledText),
116 (c.pagenames, (), ['Temp']),
117 (c.getcurselection, (), 'Temp'),
118 (c.delete, 'Temp'),
119 (c.getcurselection, (), None),
120 (c.add, 'Start', Tkinter.Frame),
121 (c.getcurselection, (), 'Start'),
122)
123
124tests_1 = tests_1_common + (
125 (_getTopPageName, (), None),
126 (c.pack, ()),
127 (_getTopPageName, (), 'Start'),
128 (c.delete, 'Start'),
129) + tests_1_common + (
130 (_getTopPageName, (), 'Start'),
131 (c.delete, 'Start'),
132 (c.pack_forget, ()),
133) + tests_1_common + (
134 (_getTopPageName, (), None),
135 (c.pack, ()),
136 (_getTopPageName, (), 'Start'),
137)
138
139kw_2 = {
140 'tabpos' : None,
141 'borderwidth' : 10,
142 'pagemargin' : 10,
143}
144
145tests_2 = (
146 (c.pack, ()),
147 ('hull_relief', 'sunken'),
148 ('hull_borderwidth', 20),
149) + tests_1_common
150
151kw_3 = {}
152
153tests_3 = (
154 (c.pack, ()),
155) + tests_1_common + (
156 ('Tab_background', 'red'),
157 (c.add, 'One', Tkinter.Frame),
158 (c.tab, 'One', Tkinter.Button),
159)
160
161alltests = (
162 (tests_1, kw_1),
163 (tests_1, kw_2),
164 (tests_1, kw_3),
165 (tests_2, kw_1),
166 (tests_2, kw_3),
167 (tests_3, kw_3),
168)
169
170testData = ((c, alltests),)
171
172if __name__ == '__main__':
173 Test.runTests(testData)