Erik Grinaker is sharing code with you
Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.
Don't show this againRevelation / test / ui.py
- commit
- cff0e6f7ef34
- parent
- e0a14b958359
- branch
- default
- tags
- revelation-0.4.0-pre2
bumped version number to 0.4.0-pre2
1 |
8ec66df6d4cf
|
#!/usr/bin/env python |
2 |
8ec66df6d4cf
|
|
3 |
8ec66df6d4cf
|
# |
4 |
78ebb688e45f
|
# Revelation 0.4.0 - a password manager for GNOME 2 |
5 |
8ec66df6d4cf
|
# http://oss.codepoet.no/revelation/ |
6 |
8ec66df6d4cf
|
# $Id$ |
7 |
8ec66df6d4cf
|
# |
8 |
8ec66df6d4cf
|
# Unit tests for ui module |
9 |
8ec66df6d4cf
|
# |
10 |
8ec66df6d4cf
|
# |
11 |
78ebb688e45f
|
# Copyright (c) 2003-2005 Erik Grinaker |
12 |
8ec66df6d4cf
|
# |
13 |
8ec66df6d4cf
|
# This program is free software; you can redistribute it and/or |
14 |
8ec66df6d4cf
|
# modify it under the terms of the GNU General Public License |
15 |
8ec66df6d4cf
|
# as published by the Free Software Foundation; either version 2 |
16 |
8ec66df6d4cf
|
# of the License, or (at your option) any later version. |
17 |
8ec66df6d4cf
|
# |
18 |
8ec66df6d4cf
|
# This program is distributed in the hope that it will be useful, |
19 |
8ec66df6d4cf
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
20 |
8ec66df6d4cf
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
21 |
8ec66df6d4cf
|
# GNU General Public License for more details. |
22 |
8ec66df6d4cf
|
# |
23 |
8ec66df6d4cf
|
# You should have received a copy of the GNU General Public License |
24 |
8ec66df6d4cf
|
# along with this program; if not, write to the Free Software |
25 |
8ec66df6d4cf
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
26 |
8ec66df6d4cf
|
# |
27 |
8ec66df6d4cf
|
|
28 |
e0a14b958359
|
import gnome, gobject, gtk, unittest |
29 |
8ec66df6d4cf
|
|
30 |
e6acb28fe209
|
from revelation import config, data, entry, ui |
31 |
8ec66df6d4cf
|
|
32 |
8ec66df6d4cf
|
|
33 |
8ec66df6d4cf
|
|
34 |
8ec66df6d4cf
|
class attrs(unittest.TestCase): |
35 |
8ec66df6d4cf
|
"ui attributes" |
36 |
8ec66df6d4cf
|
|
37 |
8ec66df6d4cf
|
def test_entry_icons(self): |
38 |
8ec66df6d4cf
|
"ui module has required entry stock icons" |
39 |
8ec66df6d4cf
|
|
40 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_FOLDER"), True) |
41 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_FOLDER_OPEN"), True) |
42 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_CREDITCARD"), True) |
43 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_CRYPTOKEY"), True) |
44 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_DATABASE"), True) |
45 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_DOOR"), True) |
46 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_EMAIL"), True) |
47 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_FTP"), True) |
48 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_GENERIC"), True) |
49 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_PHONE"), True) |
50 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_SHELL"), True) |
51 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ENTRY_WEBSITE"), True) |
52 |
8ec66df6d4cf
|
|
53 |
8ec66df6d4cf
|
|
54 |
8ec66df6d4cf
|
def test_icon_sizes(self): |
55 |
8ec66df6d4cf
|
"ui module has required icon sizes" |
56 |
8ec66df6d4cf
|
|
57 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "ICON_SIZE_DATAVIEW"), True) |
58 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "ICON_SIZE_DROPDOWN"), True) |
59 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "ICON_SIZE_LOGO"), True) |
60 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "ICON_SIZE_TREEVIEW"), True) |
61 |
8ec66df6d4cf
|
|
62 |
8ec66df6d4cf
|
self.assertEquals(gtk.icon_size_lookup(ui.ICON_SIZE_DATAVIEW), (24, 24)) |
63 |
8ec66df6d4cf
|
self.assertEquals(gtk.icon_size_lookup(ui.ICON_SIZE_DROPDOWN), (18, 18)) |
64 |
8ec66df6d4cf
|
self.assertEquals(gtk.icon_size_lookup(ui.ICON_SIZE_LOGO), (32, 32)) |
65 |
8ec66df6d4cf
|
self.assertEquals(gtk.icon_size_lookup(ui.ICON_SIZE_TREEVIEW), (18, 18)) |
66 |
8ec66df6d4cf
|
|
67 |
8ec66df6d4cf
|
|
68 |
8ec66df6d4cf
|
|
69 |
8ec66df6d4cf
|
def test_stock_items(self): |
70 |
8ec66df6d4cf
|
"ui module has required stock items" |
71 |
8ec66df6d4cf
|
|
72 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_ADD"), True) |
73 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_DISCARD"), True) |
74 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_EDIT"), True) |
75 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_EXPORT"), True) |
76 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_GENERATE"), True) |
77 |
095f4008dc7f
|
self.assertEquals(hasattr(ui, "STOCK_GOTO"), True) |
78 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_IMPORT"), True) |
79 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_LOCK"), True) |
80 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_NEXT"), True) |
81 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_OVERWRITE"), True) |
82 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_PASSWORD_CHANGE"), True) |
83 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_PREVIOUS"), True) |
84 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_REMOVE"), True) |
85 |
8ec66df6d4cf
|
self.assertEquals(hasattr(ui, "STOCK_REVELATION"), True) |
86 |
8ec66df6d4cf
|
|
87 |
8ec66df6d4cf
|
|
88 |
8ec66df6d4cf
|
|
89 |
8ec66df6d4cf
|
class config_bind(unittest.TestCase): |
90 |
8ec66df6d4cf
|
"config_bind()" |
91 |
8ec66df6d4cf
|
|
92 |
8ec66df6d4cf
|
def setUp(self): |
93 |
8ec66df6d4cf
|
"sets up common facilities for the test" |
94 |
8ec66df6d4cf
|
|
95 |
8ec66df6d4cf
|
self.config = config.Config() |
96 |
8ec66df6d4cf
|
|
97 |
8ec66df6d4cf
|
|
98 |
8ec66df6d4cf
|
def test_check(self): |
99 |
8ec66df6d4cf
|
"config_bind() handles check items correctly" |
100 |
8ec66df6d4cf
|
|
101 |
8ec66df6d4cf
|
self.config.set("view/searchbar", True) |
102 |
8ec66df6d4cf
|
|
103 |
8ec66df6d4cf
|
# test initial state |
104 |
8ec66df6d4cf
|
check = ui.CheckButton("Test") |
105 |
8ec66df6d4cf
|
ui.config_bind(self.config, "view/searchbar", check) |
106 |
9b26b6070e40
|
gtk_run() |
107 |
8ec66df6d4cf
|
self.assertEquals(check.get_active(), True) |
108 |
8ec66df6d4cf
|
|
109 |
8ec66df6d4cf
|
# test config value change |
110 |
8ec66df6d4cf
|
self.config.set("view/searchbar", False) |
111 |
9b26b6070e40
|
gtk_run() |
112 |
8ec66df6d4cf
|
self.assertEquals(check.get_active(), False) |
113 |
8ec66df6d4cf
|
|
114 |
8ec66df6d4cf
|
# test widget change |
115 |
8ec66df6d4cf
|
check.set_active(True) |
116 |
9b26b6070e40
|
gtk_run() |
117 |
8ec66df6d4cf
|
self.assertEquals(self.config.get("view/searchbar"), True) |
118 |
8ec66df6d4cf
|
|
119 |
8ec66df6d4cf
|
|
120 |
8ec66df6d4cf
|
def test_entry(self): |
121 |
8ec66df6d4cf
|
"config_bind() handles entries correctly" |
122 |
8ec66df6d4cf
|
|
123 |
8ec66df6d4cf
|
self.config.set("file/autoload_file", "test123") |
124 |
8ec66df6d4cf
|
|
125 |
8ec66df6d4cf
|
# test initial state |
126 |
8ec66df6d4cf
|
entry = ui.Entry() |
127 |
8ec66df6d4cf
|
ui.config_bind(self.config, "file/autoload_file", entry) |
128 |
9b26b6070e40
|
gtk_run() |
129 |
8ec66df6d4cf
|
self.assertEquals(entry.get_text(), "test123") |
130 |
8ec66df6d4cf
|
|
131 |
8ec66df6d4cf
|
# test config value change |
132 |
8ec66df6d4cf
|
self.config.set("file/autoload_file", "test again") |
133 |
9b26b6070e40
|
gtk_run() |
134 |
8ec66df6d4cf
|
self.assertEquals(entry.get_text(), "test again") |
135 |
8ec66df6d4cf
|
|
136 |
8ec66df6d4cf
|
# test widget change |
137 |
8ec66df6d4cf
|
entry.set_text("") |
138 |
9b26b6070e40
|
gtk_run() |
139 |
8ec66df6d4cf
|
self.assertEquals(self.config.get("file/autoload_file"), "") |
140 |
8ec66df6d4cf
|
|
141 |
8ec66df6d4cf
|
|
142 |
8ec66df6d4cf
|
def test_return(self): |
143 |
8ec66df6d4cf
|
"config_bind() returns the id of the callback" |
144 |
8ec66df6d4cf
|
|
145 |
8ec66df6d4cf
|
check = ui.CheckButton("test") |
146 |
8ec66df6d4cf
|
id = ui.config_bind(self.config, "view/searchbar", check) |
147 |
8ec66df6d4cf
|
self.assertEquals(self.config.callbacks.has_key(id), True) |
148 |
8ec66df6d4cf
|
|
149 |
8ec66df6d4cf
|
|
150 |
8ec66df6d4cf
|
def test_spin(self): |
151 |
8ec66df6d4cf
|
"config_bind() handles spin entries correctly" |
152 |
8ec66df6d4cf
|
|
153 |
8ec66df6d4cf
|
self.config.set("view/pane-position", 500) |
154 |
8ec66df6d4cf
|
|
155 |
8ec66df6d4cf
|
# test initial state |
156 |
8ec66df6d4cf
|
spin = ui.SpinEntry() |
157 |
8ec66df6d4cf
|
ui.config_bind(self.config, "view/pane-position", spin) |
158 |
9b26b6070e40
|
gtk_run() |
159 |
8ec66df6d4cf
|
self.assertEquals(spin.get_value(), 500) |
160 |
8ec66df6d4cf
|
|
161 |
8ec66df6d4cf
|
# test config value change |
162 |
8ec66df6d4cf
|
self.config.set("view/pane-position", 200) |
163 |
9b26b6070e40
|
gtk_run() |
164 |
8ec66df6d4cf
|
self.assertEquals(spin.get_value(), 200) |
165 |
8ec66df6d4cf
|
|
166 |
8ec66df6d4cf
|
# test widget change |
167 |
8ec66df6d4cf
|
spin.set_value(300) |
168 |
9b26b6070e40
|
gtk_run() |
169 |
8ec66df6d4cf
|
self.assertEquals(self.config.get("view/pane-position"), 300) |
170 |
8ec66df6d4cf
|
|
171 |
8ec66df6d4cf
|
|
172 |
8ec66df6d4cf
|
def test_unrealize(self): |
173 |
8ec66df6d4cf
|
"config_bind() removes the callback when the widget is destroyed" |
174 |
8ec66df6d4cf
|
|
175 |
8ec66df6d4cf
|
check = ui.CheckButton() |
176 |
8ec66df6d4cf
|
id = ui.config_bind(self.config, "view/searchbar", check) |
177 |
8ec66df6d4cf
|
self.assertEquals(self.config.callbacks.has_key(id), True) |
178 |
8ec66df6d4cf
|
|
179 |
8ec66df6d4cf
|
hbox = ui.HBox() |
180 |
8ec66df6d4cf
|
hbox.pack_start(check) |
181 |
8ec66df6d4cf
|
hbox.destroy() |
182 |
9b26b6070e40
|
gtk_run() |
183 |
8ec66df6d4cf
|
|
184 |
8ec66df6d4cf
|
self.assertEquals(self.config.callbacks.has_key(id), False) |
185 |
8ec66df6d4cf
|
|
186 |
8ec66df6d4cf
|
|
187 |
8ec66df6d4cf
|
|
188 |
8ec66df6d4cf
|
class generate_field_display_widget(unittest.TestCase): |
189 |
8ec66df6d4cf
|
"generate_field_display_widget()" |
190 |
8ec66df6d4cf
|
|
191 |
8ec66df6d4cf
|
def test_value(self): |
192 |
8ec66df6d4cf
|
"generate_field_display_widget() sets field value on widget" |
193 |
8ec66df6d4cf
|
|
194 |
8ec66df6d4cf
|
for field in entry.FIELDLIST: |
195 |
8ec66df6d4cf
|
field = field() |
196 |
8ec66df6d4cf
|
field.value = "test123" |
197 |
8ec66df6d4cf
|
|
198 |
8ec66df6d4cf
|
widget = ui.generate_field_display_widget(field) |
199 |
8ec66df6d4cf
|
self.assertEquals(widget.get_text(), "test123") |
200 |
8ec66df6d4cf
|
|
201 |
8ec66df6d4cf
|
|
202 |
8ec66df6d4cf
|
def test_widgets(self): |
203 |
8ec66df6d4cf
|
"generate_field_display_widget() generates correct widgets" |
204 |
8ec66df6d4cf
|
|
205 |
8ec66df6d4cf
|
for field in entry.FIELDLIST: |
206 |
8ec66df6d4cf
|
field = field() |
207 |
8ec66df6d4cf
|
widget = ui.generate_field_display_widget(field) |
208 |
8ec66df6d4cf
|
|
209 |
8ec66df6d4cf
|
if field.datatype in ( entry.DATATYPE_EMAIL, entry.DATATYPE_URL ): |
210 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.LinkButton) |
211 |
8ec66df6d4cf
|
|
212 |
8ec66df6d4cf
|
elif field.datatype == entry.DATATYPE_PASSWORD: |
213 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.PasswordLabel) |
214 |
8ec66df6d4cf
|
|
215 |
8ec66df6d4cf
|
else: |
216 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.Label) |
217 |
8ec66df6d4cf
|
|
218 |
8ec66df6d4cf
|
|
219 |
8ec66df6d4cf
|
|
220 |
8ec66df6d4cf
|
class generate_field_edit_widget(unittest.TestCase): |
221 |
8ec66df6d4cf
|
"generate_field_display_widget()" |
222 |
8ec66df6d4cf
|
|
223 |
8ec66df6d4cf
|
def test_value(self): |
224 |
8ec66df6d4cf
|
"generate_field_edit_widget() sets the field value in the widget" |
225 |
8ec66df6d4cf
|
|
226 |
8ec66df6d4cf
|
for field in entry.FIELDLIST: |
227 |
8ec66df6d4cf
|
field = field() |
228 |
8ec66df6d4cf
|
field.value = "test123" |
229 |
8ec66df6d4cf
|
|
230 |
8ec66df6d4cf
|
widget = ui.generate_field_edit_widget(field) |
231 |
8ec66df6d4cf
|
|
232 |
8ec66df6d4cf
|
if type(widget) != ui.FileEntry: |
233 |
8ec66df6d4cf
|
self.assertEquals(widget.get_text(), "test123") |
234 |
8ec66df6d4cf
|
|
235 |
8ec66df6d4cf
|
|
236 |
8ec66df6d4cf
|
def test_widgets(self): |
237 |
8ec66df6d4cf
|
"generate_field_edit_widget() generates correct widgets" |
238 |
8ec66df6d4cf
|
|
239 |
8ec66df6d4cf
|
for field in entry.FIELDLIST: |
240 |
8ec66df6d4cf
|
field = field() |
241 |
8ec66df6d4cf
|
widget = ui.generate_field_edit_widget(field) |
242 |
8ec66df6d4cf
|
|
243 |
8ec66df6d4cf
|
if type(field) == entry.PasswordField: |
244 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.PasswordEntryGenerate) |
245 |
8ec66df6d4cf
|
|
246 |
8ec66df6d4cf
|
elif type(field) == entry.UsernameField: |
247 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.ComboBoxEntry) |
248 |
8ec66df6d4cf
|
|
249 |
8ec66df6d4cf
|
elif field.datatype == entry.DATATYPE_FILE: |
250 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.FileEntry) |
251 |
8ec66df6d4cf
|
|
252 |
8ec66df6d4cf
|
elif field.datatype == entry.DATATYPE_PASSWORD: |
253 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.PasswordEntry) |
254 |
8ec66df6d4cf
|
|
255 |
8ec66df6d4cf
|
else: |
256 |
8ec66df6d4cf
|
self.assertEquals(type(widget), ui.Entry) |
257 |
8ec66df6d4cf
|
|
258 |
8ec66df6d4cf
|
|
259 |
8ec66df6d4cf
|
|
260 |
e0a14b958359
|
class App(unittest.TestCase): |
261 |
e0a14b958359
|
"App" |
262 |
e0a14b958359
|
|
263 |
e0a14b958359
|
def test_subclass(self): |
264 |
e0a14b958359
|
"App is subclass of gnome.ui.App" |
265 |
e0a14b958359
|
|
266 |
e0a14b958359
|
self.assertEquals(isinstance(ui.App("test"), gnome.ui.App), True) |
267 |
e0a14b958359
|
|
268 |
e0a14b958359
|
|
269 |
e0a14b958359
|
|
270 |
e0a14b958359
|
class App_add_toolbar(unittest.TestCase): |
271 |
e0a14b958359
|
"App.add_toolbar()" |
272 |
e0a14b958359
|
|
273 |
e0a14b958359
|
def test_toolbar(self): |
274 |
e0a14b958359
|
"App.add_toolbar() doesn't crash :)" |
275 |
e0a14b958359
|
|
276 |
e0a14b958359
|
a = ui.App("test") |
277 |
e0a14b958359
|
t = ui.Toolbar() |
278 |
e0a14b958359
|
a.add_toolbar(t, "toolbar", 0, False) |
279 |
e0a14b958359
|
|
280 |
e0a14b958359
|
|
281 |
e0a14b958359
|
|
282 |
e0a14b958359
|
class App_get_title(unittest.TestCase): |
283 |
e0a14b958359
|
"App.get_title()" |
284 |
e0a14b958359
|
|
285 |
e0a14b958359
|
def test_stripname(self): |
286 |
e0a14b958359
|
"App.get_title() returns title without appname" |
287 |
e0a14b958359
|
|
288 |
e0a14b958359
|
a = ui.App("test") |
289 |
e0a14b958359
|
a.set_title("testtitle") |
290 |
e0a14b958359
|
self.assertEquals(a.get_title(), "testtitle") |
291 |
e0a14b958359
|
|
292 |
e0a14b958359
|
|
293 |
e0a14b958359
|
|
294 |
e0a14b958359
|
class App_run(unittest.TestCase): |
295 |
e0a14b958359
|
"App.run()" |
296 |
e0a14b958359
|
|
297 |
e0a14b958359
|
def test_mainloop(self): |
298 |
e0a14b958359
|
"App.run() starts a gtk mainloop" |
299 |
e0a14b958359
|
|
300 |
e0a14b958359
|
global foo |
301 |
e0a14b958359
|
foo = False |
302 |
e0a14b958359
|
|
303 |
e0a14b958359
|
def cb(): |
304 |
e0a14b958359
|
global foo |
305 |
e0a14b958359
|
foo = True |
306 |
e0a14b958359
|
gtk.main_quit() |
307 |
e0a14b958359
|
|
308 |
e0a14b958359
|
a = ui.App("test") |
309 |
e0a14b958359
|
|
310 |
e0a14b958359
|
gobject.timeout_add(100, cb) |
311 |
e0a14b958359
|
a.run() |
312 |
e0a14b958359
|
|
313 |
e0a14b958359
|
self.assertEquals(foo, True) |
314 |
e0a14b958359
|
a.destroy() |
315 |
e0a14b958359
|
|
316 |
e0a14b958359
|
|
317 |
e0a14b958359
|
|
318 |
e0a14b958359
|
class App_set_title(unittest.TestCase): |
319 |
e0a14b958359
|
"App.set_title()" |
320 |
e0a14b958359
|
|
321 |
e0a14b958359
|
def test_appname(self): |
322 |
e0a14b958359
|
"App.set_title() appends revelation appname to title" |
323 |
e0a14b958359
|
|
324 |
e0a14b958359
|
a = ui.App("test") |
325 |
e0a14b958359
|
a.set_title("title") |
326 |
e0a14b958359
|
|
327 |
e0a14b958359
|
self.assertEquals(gtk.Window.get_title(a), "title - " + config.APPNAME) |
328 |
e0a14b958359
|
|
329 |
e0a14b958359
|
|
330 |
e0a14b958359
|
|
331 |
9562cd812cce
|
class Button(unittest.TestCase): |
332 |
9562cd812cce
|
"Button" |
333 |
9562cd812cce
|
|
334 |
9562cd812cce
|
def test_callback(self): |
335 |
9562cd812cce
|
"Button attaches callback from arg" |
336 |
9562cd812cce
|
|
337 |
9562cd812cce
|
global foo |
338 |
9562cd812cce
|
foo = False |
339 |
9562cd812cce
|
|
340 |
9562cd812cce
|
def cb(widget, data = None): |
341 |
9562cd812cce
|
global foo |
342 |
9562cd812cce
|
foo = True |
343 |
9562cd812cce
|
|
344 |
9562cd812cce
|
b = ui.Button("test", cb) |
345 |
9562cd812cce
|
b.clicked() |
346 |
9562cd812cce
|
gtk_run() |
347 |
9562cd812cce
|
|
348 |
9562cd812cce
|
self.assertEquals(foo, True) |
349 |
9562cd812cce
|
|
350 |
9562cd812cce
|
|
351 |
9562cd812cce
|
def test_label(self): |
352 |
9562cd812cce
|
"Button sets label text from arg" |
353 |
9562cd812cce
|
|
354 |
9562cd812cce
|
self.assertEquals(ui.Button("test123").get_label(), "test123") |
355 |
9562cd812cce
|
|
356 |
9562cd812cce
|
|
357 |
9562cd812cce
|
def test_stock(self): |
358 |
9562cd812cce
|
"Button uses stock items if given" |
359 |
9562cd812cce
|
|
360 |
9562cd812cce
|
self.assertEquals(ui.Button("test").get_use_stock(), True) |
361 |
9562cd812cce
|
|
362 |
9562cd812cce
|
|
363 |
9562cd812cce
|
def test_subclass(self): |
364 |
9562cd812cce
|
"Button is subclass of gtk.Button" |
365 |
9562cd812cce
|
|
366 |
9562cd812cce
|
self.assertEquals(isinstance(ui.Button("test"), gtk.Button), True) |
367 |
9562cd812cce
|
|
368 |
9562cd812cce
|
|
369 |
9562cd812cce
|
|
370 |
9562cd812cce
|
class CheckButton(unittest.TestCase): |
371 |
9562cd812cce
|
"CheckButton" |
372 |
9562cd812cce
|
|
373 |
9562cd812cce
|
def test_subclass(self): |
374 |
9562cd812cce
|
"CheckButton is subclass of gtk.CheckButton" |
375 |
9562cd812cce
|
|
376 |
9562cd812cce
|
self.assertEquals(isinstance(ui.CheckButton(), gtk.CheckButton), True) |
377 |
9562cd812cce
|
|
378 |
9562cd812cce
|
|
379 |
9562cd812cce
|
|
380 |
9b26b6070e40
|
class ComboBoxEntry(unittest.TestCase): |
381 |
9b26b6070e40
|
"ComboBoxEntry" |
382 |
9b26b6070e40
|
|
383 |
9b26b6070e40
|
def test_activates_default(self): |
384 |
9b26b6070e40
|
"ComboBoxEntry activates default dialog response by default" |
385 |
9b26b6070e40
|
|
386 |
9b26b6070e40
|
self.assertEquals(ui.ComboBoxEntry().child.get_activates_default(), True) |
387 |
9b26b6070e40
|
|
388 |
9b26b6070e40
|
|
389 |
9b26b6070e40
|
def test_completion(self): |
390 |
9b26b6070e40
|
"ComboBoxEntry sets up an EntryCompletion" |
391 |
9b26b6070e40
|
|
392 |
9b26b6070e40
|
e = ui.ComboBoxEntry() |
393 |
9b26b6070e40
|
self.assertEquals(e.completion.get_model() is e.model, True) |
394 |
9b26b6070e40
|
self.assertEquals(e.child.get_completion() is e.completion, True) |
395 |
9b26b6070e40
|
|
396 |
9b26b6070e40
|
|
397 |
9b26b6070e40
|
def test_model(self): |
398 |
9b26b6070e40
|
"ComboBoxEntry sets up text liststore" |
399 |
9b26b6070e40
|
|
400 |
9b26b6070e40
|
e = ui.ComboBoxEntry() |
401 |
9b26b6070e40
|
|
402 |
9b26b6070e40
|
self.assertEquals(hasattr(e, "model"), True) |
403 |
9b26b6070e40
|
self.assertEquals(e.model.get_n_columns(), 1) |
404 |
9b26b6070e40
|
self.assertEquals(e.model.get_column_type(0), gobject.TYPE_STRING) |
405 |
9b26b6070e40
|
self.assertEquals(e.get_text_column(), 0) |
406 |
9b26b6070e40
|
|
407 |
9b26b6070e40
|
|
408 |
9b26b6070e40
|
def test_subclass(self): |
409 |
9b26b6070e40
|
"ComboBoxEntry is subclass of gtk.ComboBoxEntry" |
410 |
9b26b6070e40
|
|
411 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.ComboBoxEntry(), gtk.ComboBoxEntry), True) |
412 |
9b26b6070e40
|
|
413 |
9b26b6070e40
|
|
414 |
9b26b6070e40
|
def test_values(self): |
415 |
9b26b6070e40
|
"ComboBoxEntry takes values as arg" |
416 |
9b26b6070e40
|
|
417 |
9b26b6070e40
|
e = ui.ComboBoxEntry([ "a", "b", "c" ]) |
418 |
9b26b6070e40
|
|
419 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 0), 0), "a") |
420 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 1), 0), "b") |
421 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 2), 0), "c") |
422 |
9b26b6070e40
|
|
423 |
9b26b6070e40
|
|
424 |
9b26b6070e40
|
|
425 |
9b26b6070e40
|
class ComboBoxEntry_get_text(unittest.TestCase): |
426 |
9b26b6070e40
|
"ComboBoxEntry.get_text()" |
427 |
9b26b6070e40
|
|
428 |
9b26b6070e40
|
def test_text(self): |
429 |
9b26b6070e40
|
"ComboBoxEntry.get_text() returns contents of child entry" |
430 |
9b26b6070e40
|
|
431 |
9b26b6070e40
|
e = ui.ComboBoxEntry("test123") |
432 |
9b26b6070e40
|
self.assertEquals(e.get_text(), e.child.get_text()) |
433 |
9b26b6070e40
|
|
434 |
9b26b6070e40
|
|
435 |
9b26b6070e40
|
|
436 |
9b26b6070e40
|
class ComboBoxEntry_set_values(unittest.TestCase): |
437 |
9b26b6070e40
|
"ComboBoxEntry.set_values()" |
438 |
9b26b6070e40
|
|
439 |
9b26b6070e40
|
def test_clear(self): |
440 |
9b26b6070e40
|
"ComboBoxEntry.set_values() replaces existing values" |
441 |
9b26b6070e40
|
|
442 |
9b26b6070e40
|
e = ui.ComboBoxEntry() |
443 |
9b26b6070e40
|
e.set_values([ "test1", "test2" ]) |
444 |
9b26b6070e40
|
e.set_values([ "a", "b", "c" ]) |
445 |
9b26b6070e40
|
|
446 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 0), 0), "a") |
447 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 1), 0), "b") |
448 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 2), 0), "c") |
449 |
9b26b6070e40
|
|
450 |
9b26b6070e40
|
|
451 |
9b26b6070e40
|
def test_values(self): |
452 |
9b26b6070e40
|
"ComboBoxEntry.set_values() sets dropdown values" |
453 |
9b26b6070e40
|
|
454 |
9b26b6070e40
|
e = ui.ComboBoxEntry() |
455 |
9b26b6070e40
|
e.set_values([ "a", "b", "c" ]) |
456 |
9b26b6070e40
|
|
457 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 0), 0), "a") |
458 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 1), 0), "b") |
459 |
9b26b6070e40
|
self.assertEquals(e.model.get_value(e.model.iter_nth_child(None, 2), 0), "c") |
460 |
9b26b6070e40
|
|
461 |
9b26b6070e40
|
|
462 |
9b26b6070e40
|
|
463 |
9b26b6070e40
|
class ComboBoxEntry_set_text(unittest.TestCase): |
464 |
9b26b6070e40
|
"ComboBoxEntry.set_text()" |
465 |
9b26b6070e40
|
|
466 |
9b26b6070e40
|
def test_none(self): |
467 |
9b26b6070e40
|
"ComboBoxEntry.set_text() clears entry on None" |
468 |
9b26b6070e40
|
|
469 |
9b26b6070e40
|
e = ui.ComboBoxEntry() |
470 |
9b26b6070e40
|
e.set_text("test123") |
471 |
9b26b6070e40
|
e.set_text(None) |
472 |
9b26b6070e40
|
self.assertEquals(e.get_text(), "") |
473 |
9b26b6070e40
|
|
474 |
9b26b6070e40
|
|
475 |
9b26b6070e40
|
def test_text(self): |
476 |
9b26b6070e40
|
"ComboBoxEntry.set_text() sets entry text" |
477 |
9b26b6070e40
|
|
478 |
9b26b6070e40
|
e = ui.ComboBoxEntry() |
479 |
9b26b6070e40
|
e.set_text("test123") |
480 |
9b26b6070e40
|
self.assertEquals(e.get_text(), "test123") |
481 |
9b26b6070e40
|
|
482 |
9b26b6070e40
|
|
483 |
9b26b6070e40
|
|
484 |
9562cd812cce
|
class DropDown(unittest.TestCase): |
485 |
9562cd812cce
|
"DropDown" |
486 |
9562cd812cce
|
|
487 |
9562cd812cce
|
def test_model(self): |
488 |
9562cd812cce
|
"DropDown model can store text, stock-icon and data" |
489 |
9562cd812cce
|
|
490 |
9562cd812cce
|
d = ui.DropDown() |
491 |
9562cd812cce
|
self.assertEquals(d.model.get_n_columns(), 3) |
492 |
9562cd812cce
|
self.assertEquals(d.model.get_column_type(0), gobject.TYPE_STRING) |
493 |
9562cd812cce
|
self.assertEquals(d.model.get_column_type(1), gobject.TYPE_STRING) |
494 |
9562cd812cce
|
self.assertEquals(d.model.get_column_type(2), gobject.TYPE_PYOBJECT) |
495 |
9562cd812cce
|
|
496 |
9562cd812cce
|
|
497 |
9562cd812cce
|
def test_subclass(self): |
498 |
9562cd812cce
|
"DropDown is subclass of gtk.ComboBox" |
499 |
9562cd812cce
|
|
500 |
9562cd812cce
|
self.assertEquals(isinstance(ui.DropDown(), gtk.ComboBox), True) |
501 |
9562cd812cce
|
|
502 |
9562cd812cce
|
|
503 |
9562cd812cce
|
|
504 |
9562cd812cce
|
class DropDown_append_item(unittest.TestCase): |
505 |
9562cd812cce
|
"DropDown.append_item" |
506 |
9562cd812cce
|
|
507 |
9562cd812cce
|
def test_append(self): |
508 |
9562cd812cce
|
"DropDown.append_item() appends item to model" |
509 |
9562cd812cce
|
|
510 |
9562cd812cce
|
d = ui.DropDown() |
511 |
9562cd812cce
|
|
512 |
9562cd812cce
|
d.append_item("test") |
513 |
9562cd812cce
|
self.assertEquals(d.model.iter_n_children(None), 1) |
514 |
9562cd812cce
|
self.assertEquals(d.get_item(0), ( "test", None, None)) |
515 |
9562cd812cce
|
|
516 |
9562cd812cce
|
d.append_item("test123") |
517 |
9562cd812cce
|
self.assertEquals(d.model.iter_n_children(None), 2) |
518 |
9562cd812cce
|
self.assertEquals(d.get_item(1), ( "test123", None, None)) |
519 |
9562cd812cce
|
|
520 |
9562cd812cce
|
|
521 |
9562cd812cce
|
def test_data(self): |
522 |
9562cd812cce
|
"DropDown.append_item() stores all data" |
523 |
9562cd812cce
|
|
524 |
9562cd812cce
|
d = ui.DropDown() |
525 |
9562cd812cce
|
d.append_item("test", ui.STOCK_REVELATION, {} ) |
526 |
9562cd812cce
|
self.assertEquals(d.get_item(0), ( "test", ui.STOCK_REVELATION, {} )) |
527 |
9562cd812cce
|
|
528 |
9562cd812cce
|
|
529 |
9562cd812cce
|
|
530 |
9562cd812cce
|
class DropDown_delete_item(unittest.TestCase): |
531 |
9562cd812cce
|
"DropDown.delete_item()" |
532 |
9562cd812cce
|
|
533 |
9562cd812cce
|
def test_delete(self): |
534 |
9562cd812cce
|
"DropDown.delete_item() deletes item" |
535 |
9562cd812cce
|
|
536 |
9562cd812cce
|
d = ui.DropDown() |
537 |
9562cd812cce
|
d.append_item("test1") |
538 |
9562cd812cce
|
d.append_item("test2") |
539 |
9562cd812cce
|
d.append_item("test3") |
540 |
9562cd812cce
|
|
541 |
9562cd812cce
|
d.delete_item(1) |
542 |
9562cd812cce
|
self.assertEquals(d.get_item(0), ( "test1", None, None )) |
543 |
9562cd812cce
|
self.assertEquals(d.get_item(1), ( "test3", None, None )) |
544 |
9562cd812cce
|
self.assertEquals(d.model.iter_n_children(None), 2) |
545 |
9562cd812cce
|
|
546 |
9562cd812cce
|
|
547 |
9562cd812cce
|
|
548 |
9562cd812cce
|
class DropDown_get_active_item(unittest.TestCase): |
549 |
9562cd812cce
|
"DropDown.get_active_item()" |
550 |
9562cd812cce
|
|
551 |
9562cd812cce
|
def test_active(self): |
552 |
9562cd812cce
|
"DropDown.get_active_item() returns data for the active item" |
553 |
9562cd812cce
|
|
554 |
9562cd812cce
|
d = ui.DropDown() |
555 |
9562cd812cce
|
d.append_item("test1") |
556 |
9562cd812cce
|
d.append_item("test2") |
557 |
9562cd812cce
|
d.append_item("test3") |
558 |
9562cd812cce
|
|
559 |
9562cd812cce
|
d.set_active(0) |
560 |
9562cd812cce
|
self.assertEquals(d.get_active_item(), ( "test1", None, None )) |
561 |
9562cd812cce
|
|
562 |
9562cd812cce
|
d.set_active(2) |
563 |
9562cd812cce
|
self.assertEquals(d.get_active_item(), ( "test3", None, None )) |
564 |
9562cd812cce
|
|
565 |
9562cd812cce
|
|
566 |
9562cd812cce
|
def test_data(self): |
567 |
9562cd812cce
|
"DropDown.get_active_item() returns all data" |
568 |
9562cd812cce
|
|
569 |
9562cd812cce
|
d = ui.DropDown() |
570 |
9562cd812cce
|
d.append_item("test", ui.STOCK_REVELATION, {}) |
571 |
9562cd812cce
|
d.set_active(0) |
572 |
9562cd812cce
|
self.assertEquals(d.get_active_item(), ( "test", ui.STOCK_REVELATION, {} )) |
573 |
9562cd812cce
|
|
574 |
9562cd812cce
|
|
575 |
9562cd812cce
|
|
576 |
9562cd812cce
|
class DropDown_get_item(unittest.TestCase): |
577 |
9562cd812cce
|
"DropDown.get_item()" |
578 |
9562cd812cce
|
|
579 |
9562cd812cce
|
def test_data(self): |
580 |
9562cd812cce
|
"DropDown.get_item() returns all data" |
581 |
9562cd812cce
|
|
582 |
9562cd812cce
|
d = ui.DropDown() |
583 |
9562cd812cce
|
d.append_item("test", ui.STOCK_REVELATION, {}) |
584 |
9562cd812cce
|
self.assertEquals(d.get_item(0), ( "test", ui.STOCK_REVELATION, {} )) |
585 |
9562cd812cce
|
|
586 |
9562cd812cce
|
|
587 |
9562cd812cce
|
|
588 |
9562cd812cce
|
class DropDown_insert_item(unittest.TestCase): |
589 |
9562cd812cce
|
"DropDown.insert_item()" |
590 |
9562cd812cce
|
|
591 |
9562cd812cce
|
def test_data(self): |
592 |
9562cd812cce
|
"DropDown.insert_item() stores all data" |
593 |
9562cd812cce
|
|
594 |
9562cd812cce
|
d = ui.DropDown() |
595 |
9562cd812cce
|
d.append_item("test1") |
596 |
9562cd812cce
|
d.insert_item(0, "test2", ui.STOCK_REVELATION, {}) |
597 |
9562cd812cce
|
|
598 |
9562cd812cce
|
self.assertEquals(d.get_item(0), ( "test2", ui.STOCK_REVELATION, {} )) |
599 |
9562cd812cce
|
|
600 |
9562cd812cce
|
|
601 |
9562cd812cce
|
def test_position(self): |
602 |
9562cd812cce
|
"DropDown.insert_item() stores item at correct position" |
603 |
9562cd812cce
|
|
604 |
9562cd812cce
|
d = ui.DropDown() |
605 |
9562cd812cce
|
d.append_item("test1") |
606 |
9562cd812cce
|
d.append_item("test2") |
607 |
9562cd812cce
|
d.insert_item(1, "test3") |
608 |
9562cd812cce
|
|
609 |
9562cd812cce
|
self.assertEquals(d.get_item(0), ( "test1", None, None )) |
610 |
9562cd812cce
|
self.assertEquals(d.get_item(1), ( "test3", None, None )) |
611 |
9562cd812cce
|
self.assertEquals(d.get_item(2), ( "test2", None, None )) |
612 |
9562cd812cce
|
|
613 |
9562cd812cce
|
|
614 |
9562cd812cce
|
|
615 |
9b26b6070e40
|
class Entry(unittest.TestCase): |
616 |
9b26b6070e40
|
"Entry" |
617 |
9b26b6070e40
|
|
618 |
9b26b6070e40
|
def test_activates_default(self): |
619 |
9b26b6070e40
|
"Entry activates default dialog response by default" |
620 |
9b26b6070e40
|
|
621 |
9b26b6070e40
|
self.assertEquals(ui.Entry().get_activates_default(), True) |
622 |
9b26b6070e40
|
|
623 |
9b26b6070e40
|
|
624 |
9b26b6070e40
|
def test_subclass(self): |
625 |
9b26b6070e40
|
"Entry is subclass of gtk.Entry" |
626 |
9b26b6070e40
|
|
627 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.Entry(), gtk.Entry), True) |
628 |
9b26b6070e40
|
|
629 |
9b26b6070e40
|
|
630 |
9b26b6070e40
|
def test_text(self): |
631 |
9b26b6070e40
|
"Entry takes text as arg" |
632 |
9b26b6070e40
|
|
633 |
9b26b6070e40
|
self.assertEquals(ui.Entry("test123").get_text(), "test123") |
634 |
9b26b6070e40
|
|
635 |
9b26b6070e40
|
|
636 |
9b26b6070e40
|
|
637 |
9b26b6070e40
|
class Entry_set_text(unittest.TestCase): |
638 |
9b26b6070e40
|
"Entry.set_text()" |
639 |
9b26b6070e40
|
|
640 |
9b26b6070e40
|
def test_none(self): |
641 |
9b26b6070e40
|
"Entry.set_text() blanks entry on None" |
642 |
9b26b6070e40
|
|
643 |
9b26b6070e40
|
e = ui.Entry("test") |
644 |
9b26b6070e40
|
e.set_text(None) |
645 |
9b26b6070e40
|
self.assertEquals(e.get_text(), "") |
646 |
9b26b6070e40
|
|
647 |
9b26b6070e40
|
|
648 |
9b26b6070e40
|
def test_text(self): |
649 |
9b26b6070e40
|
"Entry.set_text() sets text correctly" |
650 |
9b26b6070e40
|
|
651 |
9b26b6070e40
|
e = ui.Entry() |
652 |
9b26b6070e40
|
e.set_text("test") |
653 |
9b26b6070e40
|
self.assertEquals(e.get_text(), "test") |
654 |
9b26b6070e40
|
|
655 |
9b26b6070e40
|
|
656 |
9b26b6070e40
|
|
657 |
1b3159db8a74
|
class EventBox(unittest.TestCase): |
658 |
1b3159db8a74
|
"EventBox" |
659 |
1b3159db8a74
|
|
660 |
1b3159db8a74
|
def test_child(self): |
661 |
1b3159db8a74
|
"EventBox takes child as argument" |
662 |
1b3159db8a74
|
|
663 |
1b3159db8a74
|
label = ui.Label("test") |
664 |
1b3159db8a74
|
eventbox = ui.EventBox(label) |
665 |
1b3159db8a74
|
self.assertEquals(eventbox.get_child() is label, True) |
666 |
1b3159db8a74
|
|
667 |
1b3159db8a74
|
|
668 |
1b3159db8a74
|
def test_subclass(self): |
669 |
1b3159db8a74
|
"EventBox is subclass of gtk.EventBox" |
670 |
1b3159db8a74
|
|
671 |
1b3159db8a74
|
self.assertEquals(isinstance(ui.EventBox(), gtk.EventBox), True) |
672 |
1b3159db8a74
|
|
673 |
1b3159db8a74
|
|
674 |
1b3159db8a74
|
|
675 |
9562cd812cce
|
class EntryDropDown(unittest.TestCase): |
676 |
9562cd812cce
|
"EntryDropDown" |
677 |
9562cd812cce
|
|
678 |
9562cd812cce
|
def test_data(self): |
679 |
9562cd812cce
|
"EntryDropDown stores correct data" |
680 |
9562cd812cce
|
|
681 |
9562cd812cce
|
d = ui.EntryDropDown() |
682 |
9562cd812cce
|
name, stock, e = d.get_item(0) |
683 |
9562cd812cce
|
self.assertEquals(e.typename, name) |
684 |
9562cd812cce
|
self.assertEquals(e.icon, stock) |
685 |
9562cd812cce
|
|
686 |
9562cd812cce
|
|
687 |
9562cd812cce
|
def test_entries(self): |
688 |
9562cd812cce
|
"EntryDropDown stores all entries" |
689 |
9562cd812cce
|
|
690 |
9562cd812cce
|
entries = entry.ENTRYLIST[:] |
691 |
9562cd812cce
|
d = ui.EntryDropDown() |
692 |
9562cd812cce
|
|
693 |
9562cd812cce
|
for index in range(d.model.iter_n_children(None)): |
694 |
9562cd812cce
|
name, stock, e = d.get_item(index) |
695 |
9562cd812cce
|
self.assertEquals(e in entries, True) |
696 |
9562cd812cce
|
entries.remove(e) |
697 |
9562cd812cce
|
|
698 |
9562cd812cce
|
self.assertEquals(entries, []) |
699 |
9562cd812cce
|
|
700 |
9562cd812cce
|
|
701 |
9562cd812cce
|
def test_subclass(self): |
702 |
9562cd812cce
|
"EntryDropDown is subclass of DropDown" |
703 |
9562cd812cce
|
|
704 |
9562cd812cce
|
self.assertEquals(isinstance(ui.EntryDropDown(), ui.DropDown), True) |
705 |
9562cd812cce
|
|
706 |
9562cd812cce
|
|
707 |
9562cd812cce
|
|
708 |
9562cd812cce
|
class EntryDropDown_get_active_type(unittest.TestCase): |
709 |
9562cd812cce
|
"EntryDropDown.get_active_type()" |
710 |
9562cd812cce
|
|
711 |
9562cd812cce
|
def test_active(self): |
712 |
9562cd812cce
|
"EntryDropDown.get_active_type() returns active type" |
713 |
9562cd812cce
|
|
714 |
9562cd812cce
|
d = ui.EntryDropDown() |
715 |
9562cd812cce
|
d.set_active(3) |
716 |
9562cd812cce
|
|
717 |
9562cd812cce
|
self.assertEquals(d.get_item(3)[2], d.get_active_type()) |
718 |
9562cd812cce
|
|
719 |
9562cd812cce
|
|
720 |
9562cd812cce
|
|
721 |
9562cd812cce
|
class EntryDropDown_set_active_type(unittest.TestCase): |
722 |
9562cd812cce
|
"EntryDropDown.set_active_type()" |
723 |
9562cd812cce
|
|
724 |
9562cd812cce
|
def test_active(self): |
725 |
9562cd812cce
|
"EntryDropDown.set_active_type() sets active type" |
726 |
9562cd812cce
|
|
727 |
9562cd812cce
|
d = ui.EntryDropDown() |
728 |
9562cd812cce
|
d.set_active_type(entry.GenericEntry) |
729 |
9562cd812cce
|
self.assertEquals(d.get_active_type(), entry.GenericEntry) |
730 |
9562cd812cce
|
|
731 |
9562cd812cce
|
|
732 |
9562cd812cce
|
|
733 |
86bdcc2b8f52
|
class EntryTree(unittest.TestCase): |
734 |
86bdcc2b8f52
|
"EntryTree" |
735 |
86bdcc2b8f52
|
|
736 |
86bdcc2b8f52
|
def test_crs(self): |
737 |
86bdcc2b8f52
|
"EntryTree sets up proper cell renderers" |
738 |
86bdcc2b8f52
|
|
739 |
86bdcc2b8f52
|
t = ui.EntryTree(data.EntryStore()) |
740 |
86bdcc2b8f52
|
crs = t.get_column(0).get_cell_renderers() |
741 |
86bdcc2b8f52
|
|
742 |
86bdcc2b8f52
|
if type(crs[0]) == gtk.CellRendererPixbuf: |
743 |
86bdcc2b8f52
|
cr_pixbuf = crs[0] |
744 |
86bdcc2b8f52
|
cr_text = crs[1] |
745 |
86bdcc2b8f52
|
|
746 |
86bdcc2b8f52
|
elif type(crs[0]) == gtk.CellRendererText: |
747 |
86bdcc2b8f52
|
cr_text = crs[0] |
748 |
86bdcc2b8f52
|
cr_pixbuf = crs[1] |
749 |
86bdcc2b8f52
|
|
750 |
86bdcc2b8f52
|
self.assertEquals(cr_pixbuf.get_property("stock-size"), ui.ICON_SIZE_TREEVIEW) |
751 |
86bdcc2b8f52
|
|
752 |
86bdcc2b8f52
|
|
753 |
86bdcc2b8f52
|
|
754 |
e0a14b958359
|
class EntryView(unittest.TestCase): |
755 |
e0a14b958359
|
"EntryView" |
756 |
e0a14b958359
|
|
757 |
e0a14b958359
|
def test_subclass(self): |
758 |
e0a14b958359
|
"EntryView is subclass of gtk.VBox" |
759 |
e0a14b958359
|
|
760 |
e0a14b958359
|
self.assertEquals(isinstance(ui.EntryView(), gtk.VBox), True) |
761 |
e0a14b958359
|
|
762 |
e0a14b958359
|
|
763 |
e0a14b958359
|
|
764 |
e0a14b958359
|
class EntryView_clear(unittest.TestCase): |
765 |
e0a14b958359
|
"EntryView.clear()" |
766 |
e0a14b958359
|
|
767 |
e0a14b958359
|
def test_children(self): |
768 |
e0a14b958359
|
"EntryView.clear() empties widget contents" |
769 |
e0a14b958359
|
|
770 |
e0a14b958359
|
v = ui.EntryView() |
771 |
e0a14b958359
|
|
772 |
e0a14b958359
|
e = entry.GenericEntry() |
773 |
e0a14b958359
|
e.name = "test" |
774 |
e0a14b958359
|
e[entry.UsernameField] = "username" |
775 |
e0a14b958359
|
|
776 |
e0a14b958359
|
v.display_entry(e) |
777 |
e0a14b958359
|
v.clear() |
778 |
e0a14b958359
|
self.assertEquals(len(v.get_children()), 0) |
779 |
e0a14b958359
|
|
780 |
e0a14b958359
|
|
781 |
e0a14b958359
|
def test_entry(self): |
782 |
e0a14b958359
|
"EntryView.clear() clears the entry attribute" |
783 |
e0a14b958359
|
|
784 |
e0a14b958359
|
v = ui.EntryView() |
785 |
e0a14b958359
|
v.display_entry(entry.GenericEntry()) |
786 |
e0a14b958359
|
v.clear() |
787 |
e0a14b958359
|
|
788 |
e0a14b958359
|
self.assertEquals(v.entry, None) |
789 |
e0a14b958359
|
|
790 |
e0a14b958359
|
|
791 |
e0a14b958359
|
|
792 |
e0a14b958359
|
class EntryView_display_entry(unittest.TestCase): |
793 |
e0a14b958359
|
"EntryView" |
794 |
e0a14b958359
|
|
795 |
e0a14b958359
|
def test_display(self): |
796 |
e0a14b958359
|
"EntryView.display_entry() displays entry" |
797 |
e0a14b958359
|
|
798 |
e0a14b958359
|
v = ui.EntryView() |
799 |
e0a14b958359
|
|
800 |
e0a14b958359
|
e = entry.GenericEntry() |
801 |
e0a14b958359
|
e.name = "test" |
802 |
e0a14b958359
|
e.description = "desc" |
803 |
e0a14b958359
|
e[entry.UsernameField] = "username" |
804 |
e0a14b958359
|
|
805 |
e0a14b958359
|
v.display_entry(e) |
806 |
e0a14b958359
|
self.assertNotEqual(len(v.get_children()), 0) |
807 |
e0a14b958359
|
|
808 |
e0a14b958359
|
|
809 |
e0a14b958359
|
def test_entry(self): |
810 |
e0a14b958359
|
"EntryView.display_entry() sets entry attribute" |
811 |
e0a14b958359
|
|
812 |
e0a14b958359
|
v = ui.EntryView() |
813 |
e0a14b958359
|
e = entry.GenericEntry() |
814 |
e0a14b958359
|
v.display_entry(e) |
815 |
e0a14b958359
|
|
816 |
e0a14b958359
|
self.assertEquals(v.entry is e, True) |
817 |
e0a14b958359
|
|
818 |
e0a14b958359
|
|
819 |
e0a14b958359
|
|
820 |
e0a14b958359
|
class EntryView_display_info(unittest.TestCase): |
821 |
e0a14b958359
|
"EntryView.display_info()" |
822 |
e0a14b958359
|
|
823 |
e0a14b958359
|
def test_clear(self): |
824 |
e0a14b958359
|
"EntryView.display_info() removes the entry" |
825 |
e0a14b958359
|
|
826 |
e0a14b958359
|
v = ui.EntryView() |
827 |
e0a14b958359
|
v.display_entry(entry.GenericEntry()) |
828 |
e0a14b958359
|
v.display_info() |
829 |
e0a14b958359
|
|
830 |
e0a14b958359
|
self.assertEquals(v.entry, None) |
831 |
e0a14b958359
|
|
832 |
e0a14b958359
|
|
833 |
e0a14b958359
|
def test_display(self): |
834 |
e0a14b958359
|
"EntryView.display_info() displays info" |
835 |
e0a14b958359
|
|
836 |
e0a14b958359
|
v = ui.EntryView() |
837 |
e0a14b958359
|
v.display_info() |
838 |
e0a14b958359
|
|
839 |
e0a14b958359
|
self.assertNotEqual(len(v.get_children()), 0) |
840 |
e0a14b958359
|
|
841 |
e0a14b958359
|
|
842 |
e0a14b958359
|
|
843 |
9b26b6070e40
|
class FileEntry(unittest.TestCase): |
844 |
9b26b6070e40
|
"FileEntry" |
845 |
9b26b6070e40
|
|
846 |
9b26b6070e40
|
def test_button(self): |
847 |
9b26b6070e40
|
"FileEntry has Button as button attribute" |
848 |
9b26b6070e40
|
|
849 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.FileEntry().button, ui.Button), True) |
850 |
9b26b6070e40
|
|
851 |
9b26b6070e40
|
|
852 |
9b26b6070e40
|
def test_entry(self): |
853 |
9b26b6070e40
|
"FileEntry has Entry as entry attribute" |
854 |
9b26b6070e40
|
|
855 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.FileEntry().entry, ui.Entry), True) |
856 |
9b26b6070e40
|
|
857 |
9b26b6070e40
|
|
858 |
9b26b6070e40
|
def test_file(self): |
859 |
9b26b6070e40
|
"FileEntry takes file as argument" |
860 |
9b26b6070e40
|
|
861 |
9b26b6070e40
|
e = ui.FileEntry(None, "/bin/ls") |
862 |
9b26b6070e40
|
self.assertEquals(e.get_filename(), "/bin/ls") |
863 |
9b26b6070e40
|
|
864 |
9b26b6070e40
|
|
865 |
9b26b6070e40
|
def test_layout(self): |
866 |
9b26b6070e40
|
"FileEntry is HBox with Entry and Button" |
867 |
9b26b6070e40
|
|
868 |
9b26b6070e40
|
e = ui.FileEntry() |
869 |
9b26b6070e40
|
self.assertEquals(isinstance(e, ui.HBox), True) |
870 |
9b26b6070e40
|
self.assertEquals(len(e.get_children()), 2) |
871 |
9b26b6070e40
|
self.assertEquals(e.get_children()[0] is e.entry, True) |
872 |
9b26b6070e40
|
self.assertEquals(e.get_children()[1] is e.button, True) |
873 |
9b26b6070e40
|
|
874 |
9b26b6070e40
|
|
875 |
9b26b6070e40
|
def test_title(self): |
876 |
9b26b6070e40
|
"FileEntry takes file selector title as argument" |
877 |
9b26b6070e40
|
|
878 |
9b26b6070e40
|
self.assertEquals(ui.FileEntry("test").title, "test") |
879 |
9b26b6070e40
|
|
880 |
9b26b6070e40
|
|
881 |
9b26b6070e40
|
|
882 |
9b26b6070e40
|
class FileEntry_get_filename(unittest.TestCase): |
883 |
9b26b6070e40
|
"FileEntry.get_filename()" |
884 |
9b26b6070e40
|
|
885 |
9b26b6070e40
|
def test_filename(self): |
886 |
9b26b6070e40
|
"FileEntry.get_filename() returns entry contents" |
887 |
9b26b6070e40
|
|
888 |
9b26b6070e40
|
e = ui.FileEntry(None, "/bin/ls") |
889 |
9b26b6070e40
|
self.assertEquals(e.get_filename(), "/bin/ls") |
890 |
9b26b6070e40
|
|
891 |
9b26b6070e40
|
|
892 |
9b26b6070e40
|
|
893 |
9b26b6070e40
|
class FileEntry_get_text(unittest.TestCase): |
894 |
9b26b6070e40
|
"FileEntry.get_text()" |
895 |
9b26b6070e40
|
|
896 |
9b26b6070e40
|
def test_filename(self): |
897 |
9b26b6070e40
|
"FileEntry.get_text() returns entry contents" |
898 |
9b26b6070e40
|
|
899 |
9b26b6070e40
|
e = ui.FileEntry(None, "/bin/ls") |
900 |
9b26b6070e40
|
self.assertEquals(e.get_text(), "/bin/ls") |
901 |
9b26b6070e40
|
|
902 |
9b26b6070e40
|
|
903 |
9b26b6070e40
|
|
904 |
9b26b6070e40
|
class FileEntry_set_filename(unittest.TestCase): |
905 |
9b26b6070e40
|
"FileEntry.set_filename()" |
906 |
9b26b6070e40
|
|
907 |
9b26b6070e40
|
def test_filename(self): |
908 |
9b26b6070e40
|
"FileEntry.set_filename() sets filename in entry" |
909 |
9b26b6070e40
|
|
910 |
9b26b6070e40
|
e = ui.FileEntry() |
911 |
9b26b6070e40
|
e.set_filename("/bin/ls") |
912 |
9b26b6070e40
|
self.assertEquals(e.get_filename(), "/bin/ls") |
913 |
9b26b6070e40
|
|
914 |
9b26b6070e40
|
|
915 |
9b26b6070e40
|
def test_normpath(self): |
916 |
9b26b6070e40
|
"FileEntry.set_filename() applies io.file_normpath()" |
917 |
9b26b6070e40
|
|
918 |
9b26b6070e40
|
e = ui.FileEntry() |
919 |
9b26b6070e40
|
e.set_filename("/home/../bin/./ls") |
920 |
9b26b6070e40
|
self.assertEquals(e.get_filename(), "/bin/ls") |
921 |
9b26b6070e40
|
|
922 |
9b26b6070e40
|
|
923 |
9b26b6070e40
|
|
924 |
9b26b6070e40
|
class FileEntry_set_text(unittest.TestCase): |
925 |
9b26b6070e40
|
"FileEntry.set_text()" |
926 |
9b26b6070e40
|
|
927 |
9b26b6070e40
|
def test_text(self): |
928 |
9b26b6070e40
|
"FileEntry.set_text() sets text in entry" |
929 |
9b26b6070e40
|
|
930 |
9b26b6070e40
|
e = ui.FileEntry() |
931 |
9b26b6070e40
|
e.set_text("test") |
932 |
9b26b6070e40
|
self.assertEquals(e.get_text(), "test") |
933 |
9b26b6070e40
|
|
934 |
9b26b6070e40
|
|
935 |
9b26b6070e40
|
|
936 |
8ec66df6d4cf
|
class HBox(unittest.TestCase): |
937 |
8ec66df6d4cf
|
"HBox" |
938 |
8ec66df6d4cf
|
|
939 |
8ec66df6d4cf
|
def test_children(self): |
940 |
8ec66df6d4cf
|
"HBox accepts children as arguments" |
941 |
8ec66df6d4cf
|
|
942 |
8ec66df6d4cf
|
hbox = ui.HBox(ui.Label("a"), ui.Label("b"), ui.Label("c")) |
943 |
8ec66df6d4cf
|
|
944 |
8ec66df6d4cf
|
self.assertEquals(len(hbox.get_children()), 3) |
945 |
8ec66df6d4cf
|
self.assertEquals(hbox.get_children()[0].get_text(), "a") |
946 |
8ec66df6d4cf
|
self.assertEquals(hbox.get_children()[1].get_text(), "b") |
947 |
8ec66df6d4cf
|
self.assertEquals(hbox.get_children()[2].get_text(), "c") |
948 |
8ec66df6d4cf
|
|
949 |
8ec66df6d4cf
|
|
950 |
8ec66df6d4cf
|
def test_hig(self): |
951 |
8ec66df6d4cf
|
"HBox conforms to the HIG" |
952 |
8ec66df6d4cf
|
|
953 |
8ec66df6d4cf
|
hbox = ui.HBox() |
954 |
8ec66df6d4cf
|
self.assertEquals(hbox.get_spacing(), 6) |
955 |
8ec66df6d4cf
|
self.assertEquals(hbox.get_border_width(), 0) |
956 |
8ec66df6d4cf
|
|
957 |
8ec66df6d4cf
|
|
958 |
8ec66df6d4cf
|
def test_parent(self): |
959 |
8ec66df6d4cf
|
"HBox is subclass of gtk.HBox" |
960 |
8ec66df6d4cf
|
|
961 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.HBox(), gtk.HBox), True) |
962 |
8ec66df6d4cf
|
|
963 |
8ec66df6d4cf
|
|
964 |
8ec66df6d4cf
|
|
965 |
8ec66df6d4cf
|
class HPaned(unittest.TestCase): |
966 |
8ec66df6d4cf
|
"HPaned" |
967 |
8ec66df6d4cf
|
|
968 |
8ec66df6d4cf
|
def test_children(self): |
969 |
8ec66df6d4cf
|
"HPaned accepts children as arguments" |
970 |
8ec66df6d4cf
|
|
971 |
8ec66df6d4cf
|
hpaned = ui.HPaned(ui.Label("a"), ui.Label("b")) |
972 |
8ec66df6d4cf
|
|
973 |
8ec66df6d4cf
|
self.assertEquals(hpaned.get_child1().get_text(), "a") |
974 |
8ec66df6d4cf
|
self.assertEquals(hpaned.get_child2().get_text(), "b") |
975 |
8ec66df6d4cf
|
|
976 |
8ec66df6d4cf
|
|
977 |
8ec66df6d4cf
|
def test_subclass(self): |
978 |
8ec66df6d4cf
|
"HPaned is subclass of gtk.HPaned" |
979 |
8ec66df6d4cf
|
|
980 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.HPaned(), gtk.HPaned), True) |
981 |
8ec66df6d4cf
|
|
982 |
8ec66df6d4cf
|
|
983 |
8ec66df6d4cf
|
|
984 |
50d19d11f35e
|
class ItemFactory(unittest.TestCase): |
985 |
50d19d11f35e
|
"ItemFactory" |
986 |
50d19d11f35e
|
|
987 |
50d19d11f35e
|
def test_icondir(self): |
988 |
50d19d11f35e
|
"ItemFactory puts icondir in search path" |
989 |
50d19d11f35e
|
|
990 |
50d19d11f35e
|
self.assertEquals(config.DIR_ICONS in ui.ItemFactory(gtk.Window()).theme.get_search_path(), True) |
991 |
50d19d11f35e
|
|
992 |
50d19d11f35e
|
|
993 |
50d19d11f35e
|
def test_icons(self): |
994 |
50d19d11f35e
|
"ItemFactory registers icons on init" |
995 |
50d19d11f35e
|
|
996 |
50d19d11f35e
|
f = ui.ItemFactory(gtk.Window()) |
997 |
50d19d11f35e
|
gtk_run() |
998 |
50d19d11f35e
|
|
999 |
50d19d11f35e
|
for stock in ( |
1000 |
50d19d11f35e
|
ui.STOCK_ENTRY_FOLDER, |
1001 |
50d19d11f35e
|
ui.STOCK_ENTRY_FOLDER_OPEN, |
1002 |
50d19d11f35e
|
ui.STOCK_ENTRY_CREDITCARD, |
1003 |
50d19d11f35e
|
ui.STOCK_ENTRY_CRYPTOKEY, |
1004 |
50d19d11f35e
|
ui.STOCK_ENTRY_DATABASE, |
1005 |
50d19d11f35e
|
ui.STOCK_ENTRY_DOOR, |
1006 |
50d19d11f35e
|
ui.STOCK_ENTRY_EMAIL, |
1007 |
50d19d11f35e
|
ui.STOCK_ENTRY_FTP, |
1008 |
50d19d11f35e
|
ui.STOCK_ENTRY_GENERIC, |
1009 |
50d19d11f35e
|
ui.STOCK_ENTRY_PHONE, |
1010 |
50d19d11f35e
|
ui.STOCK_ENTRY_SHELL, |
1011 |
50d19d11f35e
|
ui.STOCK_ENTRY_WEBSITE, |
1012 |
50d19d11f35e
|
ui.STOCK_REVELATION |
1013 |
50d19d11f35e
|
): |
1014 |
50d19d11f35e
|
self.assertEquals(stock in gtk.stock_list_ids(), True) |
1015 |
50d19d11f35e
|
|
1016 |
50d19d11f35e
|
|
1017 |
50d19d11f35e
|
|
1018 |
50d19d11f35e
|
def test_subclass(self): |
1019 |
50d19d11f35e
|
"ItemFactory is subclass of gtk.IconFactory" |
1020 |
50d19d11f35e
|
|
1021 |
50d19d11f35e
|
self.assertEquals(isinstance(ui.ItemFactory(gtk.Window()), gtk.IconFactory), True) |
1022 |
50d19d11f35e
|
|
1023 |
50d19d11f35e
|
|
1024 |
50d19d11f35e
|
|
1025 |
50d19d11f35e
|
class ItemFactory_create_stock_item(unittest.TestCase): |
1026 |
50d19d11f35e
|
"ItemFactory.create_stock_item()" |
1027 |
50d19d11f35e
|
|
1028 |
50d19d11f35e
|
def test_create(self): |
1029 |
50d19d11f35e
|
"ItemFactory.create_stock_item() creates stock item" |
1030 |
50d19d11f35e
|
|
1031 |
50d19d11f35e
|
f = ui.ItemFactory(gtk.Window()) |
1032 |
50d19d11f35e
|
f.create_stock_item("test123", "Just a test", gtk.STOCK_ADD) |
1033 |
50d19d11f35e
|
|
1034 |
50d19d11f35e
|
self.assertEquals("test123" in gtk.stock_list_ids(), True) |
1035 |
50d19d11f35e
|
|
1036 |
50d19d11f35e
|
|
1037 |
50d19d11f35e
|
def test_data(self): |
1038 |
50d19d11f35e
|
"ItemFactory.create_stock_item() stores all data for item" |
1039 |
50d19d11f35e
|
|
1040 |
50d19d11f35e
|
f = ui.ItemFactory(gtk.Window()) |
1041 |
50d19d11f35e
|
f.create_stock_item("test", "Just a test", gtk.STOCK_ADD) |
1042 |
50d19d11f35e
|
|
1043 |
50d19d11f35e
|
stock = gtk.stock_lookup("test") |
1044 |
50d19d11f35e
|
|
1045 |
50d19d11f35e
|
self.assertNotEqual(stock, None) |
1046 |
50d19d11f35e
|
self.assertEquals(stock[0], "test") |
1047 |
50d19d11f35e
|
self.assertEquals(stock[1], "Just a test") |
1048 |
50d19d11f35e
|
|
1049 |
50d19d11f35e
|
|
1050 |
50d19d11f35e
|
|
1051 |
50d19d11f35e
|
class ItemFactory_load_icon(unittest.TestCase): |
1052 |
50d19d11f35e
|
"ItemFactory.load_icon()" |
1053 |
50d19d11f35e
|
|
1054 |
50d19d11f35e
|
def test_load(self): |
1055 |
50d19d11f35e
|
"ItemFactory.load_icon() loads stock icon" |
1056 |
50d19d11f35e
|
|
1057 |
50d19d11f35e
|
f = ui.ItemFactory(gtk.Window()) |
1058 |
50d19d11f35e
|
icon = f.load_icon("stock_people", gtk.ICON_SIZE_MENU) |
1059 |
50d19d11f35e
|
|
1060 |
50d19d11f35e
|
self.assertEquals(type(icon), gtk.gdk.Pixbuf) |
1061 |
50d19d11f35e
|
|
1062 |
50d19d11f35e
|
|
1063 |
50d19d11f35e
|
|
1064 |
50d19d11f35e
|
class ItemFactory_load_stock_icon(unittest.TestCase): |
1065 |
50d19d11f35e
|
"ItemFactory.load_stock_icon()" |
1066 |
50d19d11f35e
|
|
1067 |
50d19d11f35e
|
def test_load(self): |
1068 |
50d19d11f35e
|
"ItemFactory.load_stock_icon() loads and registers icon" |
1069 |
50d19d11f35e
|
|
1070 |
50d19d11f35e
|
f = ui.ItemFactory(gtk.Window()) |
1071 |
50d19d11f35e
|
f.load_stock_icon("nicestock", "stock_example", ( gtk.ICON_SIZE_MENU, gtk.ICON_SIZE_LARGE_TOOLBAR )) |
1072 |
50d19d11f35e
|
|
1073 |
50d19d11f35e
|
self.assertEquals("nicestock" in gtk.stock_list_ids(), True) |
1074 |
50d19d11f35e
|
|
1075 |
50d19d11f35e
|
|
1076 |
50d19d11f35e
|
|
1077 |
1b3159db8a74
|
class Image(unittest.TestCase): |
1078 |
1b3159db8a74
|
"Image" |
1079 |
1b3159db8a74
|
|
1080 |
1b3159db8a74
|
def test_stock(self): |
1081 |
1b3159db8a74
|
"Image takes stock and size as arguments" |
1082 |
1b3159db8a74
|
|
1083 |
1b3159db8a74
|
image = ui.Image(ui.STOCK_REVELATION, ui.ICON_SIZE_LOGO) |
1084 |
1b3159db8a74
|
self.assertEquals(image.get_stock(), ( ui.STOCK_REVELATION, ui.ICON_SIZE_LOGO )) |
1085 |
1b3159db8a74
|
|
1086 |
1b3159db8a74
|
|
1087 |
1b3159db8a74
|
def test_subclass(self): |
1088 |
1b3159db8a74
|
"Image is subclass of gtk.Image" |
1089 |
1b3159db8a74
|
|
1090 |
1b3159db8a74
|
self.assertEquals(isinstance(ui.Image(), gtk.Image), True) |
1091 |
1b3159db8a74
|
|
1092 |
1b3159db8a74
|
|
1093 |
1b3159db8a74
|
|
1094 |
1b3159db8a74
|
class ImageLabel(unittest.TestCase): |
1095 |
1b3159db8a74
|
"ImageLabel" |
1096 |
1b3159db8a74
|
|
1097 |
1b3159db8a74
|
def setUp(self): |
1098 |
1b3159db8a74
|
"sets up common facilities" |
1099 |
1b3159db8a74
|
|
1100 |
1b3159db8a74
|
self.imagelabel = ui.ImageLabel("Test", ui.STOCK_REVELATION, ui.ICON_SIZE_LOGO) |
1101 |
1b3159db8a74
|
|
1102 |
1b3159db8a74
|
|
1103 |
1b3159db8a74
|
def test_hig(self): |
1104 |
1b3159db8a74
|
"ImageLabel conforms to the HIG" |
1105 |
1b3159db8a74
|
|
1106 |
1b3159db8a74
|
self.assertEquals(self.imagelabel.hbox.get_spacing(), 6) |
1107 |
1b3159db8a74
|
|
1108 |
1b3159db8a74
|
|
1109 |
1b3159db8a74
|
def test_image(self): |
1110 |
1b3159db8a74
|
"ImageLabel sets image correctly" |
1111 |
1b3159db8a74
|
|
1112 |
1b3159db8a74
|
self.assertEquals(self.imagelabel.image.get_stock(), ( ui.STOCK_REVELATION, ui.ICON_SIZE_LOGO )) |
1113 |
1b3159db8a74
|
|
1114 |
1b3159db8a74
|
|
1115 |
1b3159db8a74
|
def test_label(self): |
1116 |
1b3159db8a74
|
"ImageLabel sets label correctly" |
1117 |
1b3159db8a74
|
|
1118 |
1b3159db8a74
|
self.assertEquals(self.imagelabel.label.get_text(), "Test") |
1119 |
1b3159db8a74
|
|
1120 |
1b3159db8a74
|
|
1121 |
1b3159db8a74
|
|
1122 |
1b3159db8a74
|
class ImageLabel_set_stock(unittest.TestCase): |
1123 |
1b3159db8a74
|
"ImageLabel.set_stock()" |
1124 |
1b3159db8a74
|
|
1125 |
1b3159db8a74
|
def test_stock(self): |
1126 |
1b3159db8a74
|
"ImageLabel.set_stock() sets image correctly" |
1127 |
1b3159db8a74
|
|
1128 |
1b3159db8a74
|
imagelabel = ui.ImageLabel("Test", ui.STOCK_REVELATION, ui.ICON_SIZE_LOGO) |
1129 |
1b3159db8a74
|
|
1130 |
1b3159db8a74
|
imagelabel.set_stock(ui.STOCK_ENTRY_FOLDER, ui.ICON_SIZE_DATAVIEW) |
1131 |
1b3159db8a74
|
self.assertEquals(imagelabel.image.get_stock(), ( ui.STOCK_ENTRY_FOLDER, ui.ICON_SIZE_DATAVIEW )) |
1132 |
1b3159db8a74
|
|
1133 |
1b3159db8a74
|
|
1134 |
1b3159db8a74
|
|
1135 |
1b3159db8a74
|
class ImageLabel_set_text(unittest.TestCase): |
1136 |
1b3159db8a74
|
"ImageLabel.set_text()" |
1137 |
1b3159db8a74
|
|
1138 |
1b3159db8a74
|
def test_text(self): |
1139 |
1b3159db8a74
|
"ImageLabel.set_text() sets text correctly" |
1140 |
1b3159db8a74
|
|
1141 |
1b3159db8a74
|
imagelabel = ui.ImageLabel("Test", ui.STOCK_REVELATION, ui.ICON_SIZE_LOGO) |
1142 |
1b3159db8a74
|
|
1143 |
1b3159db8a74
|
imagelabel.set_text("test123") |
1144 |
1b3159db8a74
|
self.assertEquals(imagelabel.label.get_text(), "test123") |
1145 |
1b3159db8a74
|
|
1146 |
1b3159db8a74
|
|
1147 |
1b3159db8a74
|
|
1148 |
9562cd812cce
|
class ImageMenuItem(unittest.TestCase): |
1149 |
9562cd812cce
|
"ImageMenuItem" |
1150 |
9562cd812cce
|
|
1151 |
9562cd812cce
|
def test_image(self): |
1152 |
9562cd812cce
|
"ImageMenuItem makes image available as image attribute" |
1153 |
9562cd812cce
|
|
1154 |
9562cd812cce
|
i = ui.ImageMenuItem(gtk.STOCK_ADD, "test") |
1155 |
9562cd812cce
|
self.assertEquals(isinstance(i.image, gtk.Image), True) |
1156 |
9562cd812cce
|
self.assertEquals(i.image is i.get_children()[1], True) |
1157 |
9562cd812cce
|
|
1158 |
9562cd812cce
|
|
1159 |
9562cd812cce
|
def test_label(self): |
1160 |
9562cd812cce
|
"ImageMenuItem makes label available as label attribute" |
1161 |
9562cd812cce
|
|
1162 |
9562cd812cce
|
i = ui.ImageMenuItem(gtk.STOCK_ADD, "test") |
1163 |
9562cd812cce
|
self.assertEquals(isinstance(i.label, gtk.Label), True) |
1164 |
9562cd812cce
|
self.assertEquals(i.label is i.get_children()[0], True) |
1165 |
9562cd812cce
|
|
1166 |
9562cd812cce
|
|
1167 |
9562cd812cce
|
def test_stock(self): |
1168 |
9562cd812cce
|
"ImageMenuItem sets image stock from arg" |
1169 |
9562cd812cce
|
|
1170 |
9562cd812cce
|
i = ui.ImageMenuItem(gtk.STOCK_ADD) |
1171 |
9562cd812cce
|
self.assertEquals(i.image.get_stock(), ( gtk.STOCK_ADD, gtk.ICON_SIZE_MENU )) |
1172 |
9562cd812cce
|
|
1173 |
9562cd812cce
|
|
1174 |
9562cd812cce
|
def test_subclass(self): |
1175 |
9562cd812cce
|
"ImageMenuItem is subclass of gtk.ImageMenuItem" |
1176 |
9562cd812cce
|
|
1177 |
9562cd812cce
|
self.assertEquals(isinstance(ui.ImageMenuItem(gtk.STOCK_ADD), gtk.ImageMenuItem), True) |
1178 |
9562cd812cce
|
|
1179 |
9562cd812cce
|
|
1180 |
9562cd812cce
|
def test_text(self): |
1181 |
9562cd812cce
|
"ImageMenuItem sets label text from arg" |
1182 |
9562cd812cce
|
|
1183 |
9562cd812cce
|
i = ui.ImageMenuItem(gtk.STOCK_ADD, "test") |
1184 |
9562cd812cce
|
self.assertEquals(i.label.get_text(), "test") |
1185 |
9562cd812cce
|
|
1186 |
9562cd812cce
|
|
1187 |
9562cd812cce
|
|
1188 |
9562cd812cce
|
class ImageMenuItem_set_stock(unittest.TestCase): |
1189 |
9562cd812cce
|
"ImageMenuItem.set_stock()" |
1190 |
9562cd812cce
|
|
1191 |
9562cd812cce
|
def test_stock(self): |
1192 |
9562cd812cce
|
"ImageMenuItem.set_stock() sets the stock image" |
1193 |
9562cd812cce
|
|
1194 |
9562cd812cce
|
i = ui.ImageMenuItem(gtk.STOCK_ADD) |
1195 |
9562cd812cce
|
i.set_stock(gtk.STOCK_REMOVE) |
1196 |
9562cd812cce
|
self.assertEquals(i.image.get_stock(), ( gtk.STOCK_REMOVE, gtk.ICON_SIZE_MENU )) |
1197 |
9562cd812cce
|
|
1198 |
9562cd812cce
|
|
1199 |
9562cd812cce
|
|
1200 |
9562cd812cce
|
class ImageMenuItem_set_text(unittest.TestCase): |
1201 |
9562cd812cce
|
"ImageMenuItem.set_text()" |
1202 |
9562cd812cce
|
|
1203 |
9562cd812cce
|
def test_text(self): |
1204 |
9562cd812cce
|
"ImageMenuItem.set_text() sets label text" |
1205 |
9562cd812cce
|
|
1206 |
9562cd812cce
|
i = ui.ImageMenuItem(gtk.STOCK_ADD) |
1207 |
9562cd812cce
|
i.set_text("test123") |
1208 |
9562cd812cce
|
self.assertEquals(i.label.get_text(), "test123") |
1209 |
9562cd812cce
|
|
1210 |
9562cd812cce
|
|
1211 |
9562cd812cce
|
|
1212 |
8ec66df6d4cf
|
class InputSection(unittest.TestCase): |
1213 |
8ec66df6d4cf
|
"InputSection" |
1214 |
8ec66df6d4cf
|
|
1215 |
8ec66df6d4cf
|
def test_description(self): |
1216 |
8ec66df6d4cf
|
"InputSection creates description label correctly" |
1217 |
8ec66df6d4cf
|
|
1218 |
8ec66df6d4cf
|
sect = ui.InputSection("Title", "Description") |
1219 |
8ec66df6d4cf
|
self.assertEquals(len(sect.get_children()), 2) |
1220 |
8ec66df6d4cf
|
self.assertEquals(type(sect.get_children()[1]), ui.Label) |
1221 |
8ec66df6d4cf
|
self.assertEquals(sect.get_children()[1].get_text(), "Description") |
1222 |
8ec66df6d4cf
|
|
1223 |
8ec66df6d4cf
|
|
1224 |
8ec66df6d4cf
|
def test_hig(self): |
1225 |
8ec66df6d4cf
|
"InputSection conforms to the HIG" |
1226 |
8ec66df6d4cf
|
|
1227 |
8ec66df6d4cf
|
sect = ui.InputSection() |
1228 |
8ec66df6d4cf
|
self.assertEquals(sect.get_spacing(), 6) |
1229 |
8ec66df6d4cf
|
|
1230 |
8ec66df6d4cf
|
|
1231 |
8ec66df6d4cf
|
def test_sizegroup(self): |
1232 |
8ec66df6d4cf
|
"InputSection uses sizegroup correctly" |
1233 |
8ec66df6d4cf
|
|
1234 |
8ec66df6d4cf
|
sizegroup = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) |
1235 |
8ec66df6d4cf
|
sect = ui.InputSection("Title", "Description", sizegroup) |
1236 |
8ec66df6d4cf
|
self.assertEquals(sect.sizegroup is sizegroup, True) |
1237 |
8ec66df6d4cf
|
|
1238 |
8ec66df6d4cf
|
|
1239 |
8ec66df6d4cf
|
def test_sizegroup_default(self): |
1240 |
8ec66df6d4cf
|
"InputSection sets up horizontal sizegroup by default" |
1241 |
8ec66df6d4cf
|
|
1242 |
8ec66df6d4cf
|
sect = ui.InputSection() |
1243 |
8ec66df6d4cf
|
self.assertEquals(type(sect.sizegroup), gtk.SizeGroup) |
1244 |
8ec66df6d4cf
|
self.assertEquals(sect.sizegroup.get_mode(), gtk.SIZE_GROUP_HORIZONTAL) |
1245 |
8ec66df6d4cf
|
|
1246 |
8ec66df6d4cf
|
|
1247 |
8ec66df6d4cf
|
def test_subclass(self): |
1248 |
8ec66df6d4cf
|
"InputSection is subclass of gtk.VBox" |
1249 |
8ec66df6d4cf
|
|
1250 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.InputSection(), gtk.VBox), True) |
1251 |
8ec66df6d4cf
|
|
1252 |
8ec66df6d4cf
|
|
1253 |
8ec66df6d4cf
|
def test_title(self): |
1254 |
8ec66df6d4cf
|
"InputSection creates title label correctly" |
1255 |
8ec66df6d4cf
|
|
1256 |
8ec66df6d4cf
|
sect = ui.InputSection("Title") |
1257 |
8ec66df6d4cf
|
self.assertEquals(len(sect.get_children()), 1) |
1258 |
8ec66df6d4cf
|
self.assertEquals(type(sect.get_children()[0]), ui.Label) |
1259 |
8ec66df6d4cf
|
self.assertEquals(sect.get_children()[0].get_text(), "Title") |
1260 |
8ec66df6d4cf
|
|
1261 |
8ec66df6d4cf
|
|
1262 |
8ec66df6d4cf
|
|
1263 |
8ec66df6d4cf
|
class InputSection_append_widget(unittest.TestCase): |
1264 |
8ec66df6d4cf
|
"InputSection.append_widget()" |
1265 |
8ec66df6d4cf
|
|
1266 |
8ec66df6d4cf
|
def test_hig(self): |
1267 |
8ec66df6d4cf
|
"InputSection.append_widget() conforms to the HIG" |
1268 |
8ec66df6d4cf
|
|
1269 |
8ec66df6d4cf
|
sect = ui.InputSection() |
1270 |
8ec66df6d4cf
|
sect.append_widget("Test", ui.Entry()) |
1271 |
8ec66df6d4cf
|
|
1272 |
8ec66df6d4cf
|
row = sect.get_children()[0] |
1273 |
8ec66df6d4cf
|
self.assertEquals(row.get_spacing(), 12) |
1274 |
8ec66df6d4cf
|
self.assertEquals(row.get_children()[0].get_text(), "Test:") |
1275 |
8ec66df6d4cf
|
|
1276 |
8ec66df6d4cf
|
|
1277 |
8ec66df6d4cf
|
def test_label_none(self): |
1278 |
8ec66df6d4cf
|
"InputSection.append_widget() expands widget to max width on None label" |
1279 |
8ec66df6d4cf
|
|
1280 |
8ec66df6d4cf
|
sect = ui.InputSection() |
1281 |
8ec66df6d4cf
|
entry = ui.Entry() |
1282 |
8ec66df6d4cf
|
sect.append_widget(None, entry) |
1283 |
8ec66df6d4cf
|
|
1284 |
8ec66df6d4cf
|
row = sect.get_children()[0] |
1285 |
8ec66df6d4cf
|
self.assertEquals(len(row.get_children()), 1) |
1286 |
8ec66df6d4cf
|
self.assertEquals(row.get_children()[0] is entry, True) |
1287 |
8ec66df6d4cf
|
|
1288 |
8ec66df6d4cf
|
|
1289 |
8ec66df6d4cf
|
def test_pair(self): |
1290 |
8ec66df6d4cf
|
"InputSection.append_widget() generates a label/widget pair" |
1291 |
8ec66df6d4cf
|
|
1292 |
8ec66df6d4cf
|
sect = ui.InputSection() |
1293 |
8ec66df6d4cf
|
entry = ui.Entry() |
1294 |
8ec66df6d4cf
|
sect.append_widget("Test", entry) |
1295 |
8ec66df6d4cf
|
|
1296 |
8ec66df6d4cf
|
row = sect.get_children()[0] |
1297 |
8ec66df6d4cf
|
self.assertEquals(type(row.get_children()[0]), ui.Label) |
1298 |
8ec66df6d4cf
|
self.assertEquals(row.get_children()[0].get_text(), "Test:") |
1299 |
8ec66df6d4cf
|
|
1300 |
8ec66df6d4cf
|
self.assertEquals(row.get_children()[1] is entry, True) |
1301 |
8ec66df6d4cf
|
|
1302 |
8ec66df6d4cf
|
|
1303 |
8ec66df6d4cf
|
|
1304 |
8ec66df6d4cf
|
class InputSection_clear(unittest.TestCase): |
1305 |
8ec66df6d4cf
|
"InputSection.clear()" |
1306 |
8ec66df6d4cf
|
|
1307 |
8ec66df6d4cf
|
def test_clear(self): |
1308 |
8ec66df6d4cf
|
"InputSection.clear() clears the section" |
1309 |
8ec66df6d4cf
|
|
1310 |
8ec66df6d4cf
|
sect = ui.InputSection() |
1311 |
8ec66df6d4cf
|
sect.append_widget("Test", ui.Entry()) |
1312 |
8ec66df6d4cf
|
sect.append_widget("Test2", ui.Entry()) |
1313 |
8ec66df6d4cf
|
self.assertEquals(len(sect.get_children()), 2) |
1314 |
8ec66df6d4cf
|
|
1315 |
8ec66df6d4cf
|
sect.clear() |
1316 |
8ec66df6d4cf
|
self.assertEquals(len(sect.get_children()), 0) |
1317 |
8ec66df6d4cf
|
|
1318 |
8ec66df6d4cf
|
|
1319 |
8ec66df6d4cf
|
def test_title_description(self): |
1320 |
8ec66df6d4cf
|
"InputSection.clear() preserves title and description labels" |
1321 |
8ec66df6d4cf
|
|
1322 |
8ec66df6d4cf
|
sect = ui.InputSection("Title", "Description") |
1323 |
8ec66df6d4cf
|
sect.append_widget("Test", ui.Entry()) |
1324 |
8ec66df6d4cf
|
sect.append_widget("Test2", ui.Entry()) |
1325 |
8ec66df6d4cf
|
self.assertEquals(len(sect.get_children()), 4) |
1326 |
8ec66df6d4cf
|
|
1327 |
8ec66df6d4cf
|
sect.clear() |
1328 |
8ec66df6d4cf
|
self.assertEquals(len(sect.get_children()), 2) |
1329 |
8ec66df6d4cf
|
self.assertEquals(sect.get_children()[0].get_text(), "Title") |
1330 |
8ec66df6d4cf
|
self.assertEquals(sect.get_children()[1].get_text(), "Description") |
1331 |
8ec66df6d4cf
|
|
1332 |
8ec66df6d4cf
|
|
1333 |
8ec66df6d4cf
|
|
1334 |
1b3159db8a74
|
class Label(unittest.TestCase): |
1335 |
1b3159db8a74
|
"Label" |
1336 |
1b3159db8a74
|
|
1337 |
1b3159db8a74
|
def test_subclass(self): |
1338 |
1b3159db8a74
|
"Label is subclass of gtk.Label" |
1339 |
1b3159db8a74
|
|
1340 |
1b3159db8a74
|
self.assertEquals(isinstance(ui.Label(), gtk.Label), True) |
1341 |
1b3159db8a74
|
|
1342 |
1b3159db8a74
|
|
1343 |
1b3159db8a74
|
def test_justify(self): |
1344 |
1b3159db8a74
|
"Label sets justify from args" |
1345 |
1b3159db8a74
|
|
1346 |
1b3159db8a74
|
self.assertEquals(ui.Label("Test", gtk.JUSTIFY_LEFT).get_justify(), gtk.JUSTIFY_LEFT) |
1347 |
1b3159db8a74
|
self.assertEquals(ui.Label("Test", gtk.JUSTIFY_CENTER).get_justify(), gtk.JUSTIFY_CENTER) |
1348 |
1b3159db8a74
|
self.assertEquals(ui.Label("Test", gtk.JUSTIFY_RIGHT).get_justify(), gtk.JUSTIFY_RIGHT) |
1349 |
1b3159db8a74
|
|
1350 |
1b3159db8a74
|
|
1351 |
1b3159db8a74
|
def test_justify_alignment(self): |
1352 |
1b3159db8a74
|
"Label justify argument affects label alignment as well" |
1353 |
1b3159db8a74
|
|
1354 |
1b3159db8a74
|
self.assertEquals(ui.Label("Test", gtk.JUSTIFY_LEFT).get_alignment()[0], 0) |
1355 |
1b3159db8a74
|
self.assertEquals(ui.Label("Test", gtk.JUSTIFY_CENTER).get_alignment()[0], 0.5) |
1356 |
1b3159db8a74
|
self.assertEquals(ui.Label("Test", gtk.JUSTIFY_RIGHT).get_alignment()[0], 1) |
1357 |
1b3159db8a74
|
|
1358 |
1b3159db8a74
|
|
1359 |
1b3159db8a74
|
def test_line_wrap(self): |
1360 |
1b3159db8a74
|
"Label enables line-wrapping by default" |
1361 |
1b3159db8a74
|
|
1362 |
1b3159db8a74
|
self.assertEquals(ui.Label().get_line_wrap(), True) |
1363 |
1b3159db8a74
|
|
1364 |
1b3159db8a74
|
|
1365 |
1b3159db8a74
|
def test_markup(self): |
1366 |
1b3159db8a74
|
"Label enables markup by default" |
1367 |
1b3159db8a74
|
|
1368 |
1b3159db8a74
|
self.assertEquals(ui.Label().get_use_markup(), True) |
1369 |
1b3159db8a74
|
self.assertEquals(ui.Label("<span weight=\"bold\">Test</span>").get_text(), "Test") |
1370 |
1b3159db8a74
|
|
1371 |
1b3159db8a74
|
|
1372 |
1b3159db8a74
|
def test_text(self): |
1373 |
1b3159db8a74
|
"Label sets text correctly from args" |
1374 |
1b3159db8a74
|
|
1375 |
1b3159db8a74
|
self.assertEquals(ui.Label("Test").get_text(), "Test") |
1376 |
1b3159db8a74
|
|
1377 |
1b3159db8a74
|
|
1378 |
1b3159db8a74
|
def test_text_none(self): |
1379 |
1b3159db8a74
|
"Label has no text when given None as text" |
1380 |
1b3159db8a74
|
|
1381 |
1b3159db8a74
|
self.assertEquals(ui.Label(None).get_text(), "") |
1382 |
1b3159db8a74
|
|
1383 |
1b3159db8a74
|
|
1384 |
1b3159db8a74
|
|
1385 |
1b3159db8a74
|
class Label_set_text(unittest.TestCase): |
1386 |
1b3159db8a74
|
"Label.set_text()" |
1387 |
1b3159db8a74
|
|
1388 |
1b3159db8a74
|
def test_markup(self): |
1389 |
1b3159db8a74
|
"Label.set_text() handles markup" |
1390 |
1b3159db8a74
|
|
1391 |
1b3159db8a74
|
label = ui.Label() |
1392 |
1b3159db8a74
|
label.set_text("<span weight=\"bold\">test</span>") |
1393 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "test") |
1394 |
1b3159db8a74
|
|
1395 |
1b3159db8a74
|
|
1396 |
1b3159db8a74
|
def test_none(self): |
1397 |
1b3159db8a74
|
"Label.set_text() clears label contents when given None" |
1398 |
1b3159db8a74
|
|
1399 |
1b3159db8a74
|
label = ui.Label("Test") |
1400 |
1b3159db8a74
|
label.set_text(None) |
1401 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "") |
1402 |
1b3159db8a74
|
|
1403 |
1b3159db8a74
|
|
1404 |
1b3159db8a74
|
def test_text(self): |
1405 |
1b3159db8a74
|
"Label.set_text() sets text correctly" |
1406 |
1b3159db8a74
|
|
1407 |
1b3159db8a74
|
label = ui.Label("Test") |
1408 |
1b3159db8a74
|
label.set_text("test123") |
1409 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "test123") |
1410 |
1b3159db8a74
|
|
1411 |
1b3159db8a74
|
|
1412 |
1b3159db8a74
|
|
1413 |
8ec66df6d4cf
|
class Notebook(unittest.TestCase): |
1414 |
8ec66df6d4cf
|
"Notebook" |
1415 |
8ec66df6d4cf
|
|
1416 |
8ec66df6d4cf
|
def test_subclass(self): |
1417 |
8ec66df6d4cf
|
"Notebook is subclass of gtk.Notebook" |
1418 |
8ec66df6d4cf
|
|
1419 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.Notebook(), gtk.Notebook), True) |
1420 |
8ec66df6d4cf
|
|
1421 |
8ec66df6d4cf
|
|
1422 |
8ec66df6d4cf
|
|
1423 |
8ec66df6d4cf
|
class Notebook_create_page(unittest.TestCase): |
1424 |
8ec66df6d4cf
|
"Notebook.create_page()" |
1425 |
8ec66df6d4cf
|
|
1426 |
8ec66df6d4cf
|
def test_create(self): |
1427 |
8ec66df6d4cf
|
"Notebook.create_page() creates a notebook page" |
1428 |
8ec66df6d4cf
|
|
1429 |
8ec66df6d4cf
|
notebook = ui.Notebook() |
1430 |
8ec66df6d4cf
|
notebook.create_page("test1") |
1431 |
8ec66df6d4cf
|
notebook.create_page("test2") |
1432 |
8ec66df6d4cf
|
|
1433 |
8ec66df6d4cf
|
self.assertEquals(notebook.get_n_pages(), 2) |
1434 |
8ec66df6d4cf
|
|
1435 |
8ec66df6d4cf
|
|
1436 |
8ec66df6d4cf
|
def test_label(self): |
1437 |
8ec66df6d4cf
|
"Notebook.create_page() creates a tab label for the page" |
1438 |
8ec66df6d4cf
|
|
1439 |
8ec66df6d4cf
|
notebook = ui.Notebook() |
1440 |
8ec66df6d4cf
|
page = notebook.create_page("test") |
1441 |
8ec66df6d4cf
|
self.assertEquals(notebook.get_tab_label(page).get_text(), "test") |
1442 |
8ec66df6d4cf
|
|
1443 |
8ec66df6d4cf
|
|
1444 |
8ec66df6d4cf
|
def test_return(self): |
1445 |
8ec66df6d4cf
|
"Notebook.create_page() returns the created page" |
1446 |
8ec66df6d4cf
|
|
1447 |
8ec66df6d4cf
|
notebook = ui.Notebook() |
1448 |
8ec66df6d4cf
|
page = notebook.create_page("test") |
1449 |
8ec66df6d4cf
|
|
1450 |
8ec66df6d4cf
|
self.assertEquals(type(page), ui.NotebookPage) |
1451 |
8ec66df6d4cf
|
|
1452 |
8ec66df6d4cf
|
|
1453 |
8ec66df6d4cf
|
|
1454 |
8ec66df6d4cf
|
class NotebookPage(unittest.TestCase): |
1455 |
8ec66df6d4cf
|
"NotebookPage" |
1456 |
8ec66df6d4cf
|
|
1457 |
8ec66df6d4cf
|
def test_hig(self): |
1458 |
8ec66df6d4cf
|
"NotebookPage conforms to the HIG" |
1459 |
8ec66df6d4cf
|
|
1460 |
8ec66df6d4cf
|
page = ui.NotebookPage() |
1461 |
8ec66df6d4cf
|
self.assertEquals(page.get_spacing(), 18) |
1462 |
8ec66df6d4cf
|
self.assertEquals(page.get_border_width(), 12) |
1463 |
8ec66df6d4cf
|
|
1464 |
8ec66df6d4cf
|
|
1465 |
8ec66df6d4cf
|
def test_subclass(self): |
1466 |
8ec66df6d4cf
|
"NotebookPage is subclass of ui.VBox" |
1467 |
8ec66df6d4cf
|
|
1468 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.NotebookPage(), ui.VBox), True) |
1469 |
8ec66df6d4cf
|
|
1470 |
8ec66df6d4cf
|
|
1471 |
8ec66df6d4cf
|
|
1472 |
8ec66df6d4cf
|
class NotebookPage_add_section(unittest.TestCase): |
1473 |
8ec66df6d4cf
|
"NotebookPage.add_section()" |
1474 |
8ec66df6d4cf
|
|
1475 |
8ec66df6d4cf
|
def test_create(self): |
1476 |
8ec66df6d4cf
|
"NotebookPage.add_section() adds an InputSection" |
1477 |
8ec66df6d4cf
|
|
1478 |
8ec66df6d4cf
|
page = ui.NotebookPage() |
1479 |
8ec66df6d4cf
|
page.add_section("Test") |
1480 |
8ec66df6d4cf
|
|
1481 |
8ec66df6d4cf
|
self.assertEquals(len(page.get_children()), 1) |
1482 |
8ec66df6d4cf
|
self.assertEquals(type(page.get_children()[0]), ui.InputSection) |
1483 |
8ec66df6d4cf
|
|
1484 |
8ec66df6d4cf
|
|
1485 |
8ec66df6d4cf
|
def test_return(self): |
1486 |
8ec66df6d4cf
|
"NotebookPage.add_section() returns InputSection" |
1487 |
8ec66df6d4cf
|
|
1488 |
8ec66df6d4cf
|
page = ui.NotebookPage() |
1489 |
8ec66df6d4cf
|
section = page.add_section("Test") |
1490 |
8ec66df6d4cf
|
|
1491 |
8ec66df6d4cf
|
self.assertEquals(type(section), ui.InputSection) |
1492 |
8ec66df6d4cf
|
self.assertEquals(section is page.get_children()[0], True) |
1493 |
8ec66df6d4cf
|
|
1494 |
8ec66df6d4cf
|
|
1495 |
8ec66df6d4cf
|
def test_sizegroup(self): |
1496 |
8ec66df6d4cf
|
"NotebookPage.add_section() uses common sizegroup for all sections" |
1497 |
8ec66df6d4cf
|
|
1498 |
8ec66df6d4cf
|
page = ui.NotebookPage() |
1499 |
8ec66df6d4cf
|
sect1 = page.add_section("Test1") |
1500 |
8ec66df6d4cf
|
sect2 = page.add_section("Test2") |
1501 |
8ec66df6d4cf
|
|
1502 |
8ec66df6d4cf
|
self.assertEquals(sect1.sizegroup is page.sizegroup, True) |
1503 |
8ec66df6d4cf
|
self.assertEquals(sect2.sizegroup is page.sizegroup, True) |
1504 |
8ec66df6d4cf
|
|
1505 |
8ec66df6d4cf
|
|
1506 |
8ec66df6d4cf
|
|
1507 |
9b26b6070e40
|
class PasswordEntry(unittest.TestCase): |
1508 |
9b26b6070e40
|
"PasswordEntry" |
1509 |
9b26b6070e40
|
|
1510 |
9b26b6070e40
|
def test_config(self): |
1511 |
9b26b6070e40
|
"PasswordEntry sets visibility based on config value" |
1512 |
9b26b6070e40
|
|
1513 |
9b26b6070e40
|
c = config.Config() |
1514 |
9b26b6070e40
|
c.set("view/passwords", False) |
1515 |
9b26b6070e40
|
|
1516 |
9b26b6070e40
|
e = ui.PasswordEntry(c) |
1517 |
9b26b6070e40
|
gtk_run() |
1518 |
9b26b6070e40
|
self.assertEquals(e.get_visibility(), False) |
1519 |
9b26b6070e40
|
|
1520 |
9b26b6070e40
|
c.set("view/passwords", True) |
1521 |
9b26b6070e40
|
gtk_run() |
1522 |
9b26b6070e40
|
self.assertEquals(e.get_visibility(), True) |
1523 |
9b26b6070e40
|
|
1524 |
9b26b6070e40
|
|
1525 |
9b26b6070e40
|
def test_config_none(self): |
1526 |
9b26b6070e40
|
"PasswordEntry accepts None as config" |
1527 |
9b26b6070e40
|
|
1528 |
9b26b6070e40
|
ui.PasswordEntry(None) |
1529 |
9b26b6070e40
|
|
1530 |
9b26b6070e40
|
|
1531 |
9b26b6070e40
|
def test_password(self): |
1532 |
9b26b6070e40
|
"PasswordEntry takes password as arg" |
1533 |
9b26b6070e40
|
|
1534 |
9b26b6070e40
|
self.assertEquals(ui.PasswordEntry(None, "test123").get_text(), "test123") |
1535 |
9b26b6070e40
|
|
1536 |
9b26b6070e40
|
|
1537 |
9b26b6070e40
|
def test_subclass(self): |
1538 |
9b26b6070e40
|
"PasswordEntry is subclass of Entry" |
1539 |
9b26b6070e40
|
|
1540 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.PasswordEntry(), ui.Entry), True) |
1541 |
9b26b6070e40
|
|
1542 |
9b26b6070e40
|
|
1543 |
9b26b6070e40
|
|
1544 |
9b26b6070e40
|
class PasswordEntryGenerate(unittest.TestCase): |
1545 |
9b26b6070e40
|
"PasswordEntryGenerate" |
1546 |
9b26b6070e40
|
|
1547 |
9b26b6070e40
|
def test_button(self): |
1548 |
9b26b6070e40
|
"PasswordEntryGenerate has button attribute" |
1549 |
9b26b6070e40
|
|
1550 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.PasswordEntryGenerate(config.Config()).button, ui.Button), True) |
1551 |
9b26b6070e40
|
|
1552 |
9b26b6070e40
|
|
1553 |
9b26b6070e40
|
def test_entry(self): |
1554 |
9b26b6070e40
|
"PasswordEntryGenerate has child PasswordEntry as entry attribute" |
1555 |
9b26b6070e40
|
|
1556 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.PasswordEntryGenerate(config.Config()).entry, ui.PasswordEntry), True) |
1557 |
9b26b6070e40
|
|
1558 |
9b26b6070e40
|
|
1559 |
9b26b6070e40
|
def test_generate(self): |
1560 |
9b26b6070e40
|
"PasswordEntryGenerate generates password on button click" |
1561 |
9b26b6070e40
|
|
1562 |
9b26b6070e40
|
e = ui.PasswordEntryGenerate(config.Config()) |
1563 |
9b26b6070e40
|
e.button.clicked() |
1564 |
9b26b6070e40
|
gtk_run() |
1565 |
9b26b6070e40
|
self.assertNotEqual(e.entry.get_text(), "") |
1566 |
9b26b6070e40
|
|
1567 |
9b26b6070e40
|
|
1568 |
9b26b6070e40
|
def test_layout(self): |
1569 |
9b26b6070e40
|
"PasswordEntryGenerate has entry and button as children" |
1570 |
9b26b6070e40
|
|
1571 |
9b26b6070e40
|
e = ui.PasswordEntryGenerate(config.Config()) |
1572 |
9b26b6070e40
|
self.assertEquals(len(e.get_children()), 2) |
1573 |
9b26b6070e40
|
self.assertEquals(e.get_children()[0] is e.entry, True) |
1574 |
9b26b6070e40
|
self.assertEquals(e.get_children()[1] is e.button, True) |
1575 |
9b26b6070e40
|
|
1576 |
9b26b6070e40
|
|
1577 |
9b26b6070e40
|
def test_password(self): |
1578 |
9b26b6070e40
|
"PasswordEntryGenerate takes password as arg" |
1579 |
9b26b6070e40
|
|
1580 |
9b26b6070e40
|
self.assertEquals(ui.PasswordEntryGenerate(config.Config(), "test123").entry.get_text(), "test123") |
1581 |
9b26b6070e40
|
|
1582 |
9b26b6070e40
|
|
1583 |
9b26b6070e40
|
|
1584 |
9b26b6070e40
|
class PasswordEntryGenerate_generate(unittest.TestCase): |
1585 |
9b26b6070e40
|
"PasswordEntryGenerate.generate()" |
1586 |
9b26b6070e40
|
|
1587 |
9b26b6070e40
|
def test_generate(self): |
1588 |
9b26b6070e40
|
"PasswordEntryGenerate.generates() generates password in entry" |
1589 |
9b26b6070e40
|
|
1590 |
9b26b6070e40
|
e = ui.PasswordEntryGenerate(config.Config()) |
1591 |
9b26b6070e40
|
e.generate() |
1592 |
9b26b6070e40
|
self.assertNotEqual(e.entry.get_text(), "") |
1593 |
9b26b6070e40
|
|
1594 |
9b26b6070e40
|
|
1595 |
9b26b6070e40
|
|
1596 |
9b26b6070e40
|
class PasswordEntryGenerate_get_text(unittest.TestCase): |
1597 |
9b26b6070e40
|
"PasswordEntryGenerate.get_text()" |
1598 |
9b26b6070e40
|
|
1599 |
9b26b6070e40
|
def test_text(self): |
1600 |
9b26b6070e40
|
"PasswordEntryGenerate.get_text() returns entry contents" |
1601 |
9b26b6070e40
|
|
1602 |
9b26b6070e40
|
self.assertEquals(ui.PasswordEntryGenerate(config.Config(), "test123").get_text(), "test123") |
1603 |
9b26b6070e40
|
|
1604 |
9b26b6070e40
|
|
1605 |
9b26b6070e40
|
|
1606 |
9b26b6070e40
|
class PasswordEntryGenerate_set_text(unittest.TestCase): |
1607 |
9b26b6070e40
|
"PasswordEntryGenerate.set_text()" |
1608 |
9b26b6070e40
|
|
1609 |
9b26b6070e40
|
def test_text(self): |
1610 |
9b26b6070e40
|
"PasswordEntryGenerate.set_text() sets entry contents" |
1611 |
9b26b6070e40
|
|
1612 |
9b26b6070e40
|
e = ui.PasswordEntryGenerate(config.Config()) |
1613 |
9b26b6070e40
|
e.set_text("test123") |
1614 |
9b26b6070e40
|
self.assertEquals(e.get_text(), "test123") |
1615 |
9b26b6070e40
|
|
1616 |
9b26b6070e40
|
|
1617 |
9b26b6070e40
|
|
1618 |
1b3159db8a74
|
class PasswordLabel(unittest.TestCase): |
1619 |
1b3159db8a74
|
"PasswordLabel" |
1620 |
1b3159db8a74
|
|
1621 |
1b3159db8a74
|
def test_config(self): |
1622 |
1b3159db8a74
|
"PasswordLabel follows the view/passwords setting" |
1623 |
1b3159db8a74
|
|
1624 |
1b3159db8a74
|
c = config.Config() |
1625 |
1b3159db8a74
|
c.set("view/passwords", True) |
1626 |
9b26b6070e40
|
gtk_run() |
1627 |
1b3159db8a74
|
|
1628 |
1b3159db8a74
|
label = ui.PasswordLabel("Test123", c) |
1629 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "Test123") |
1630 |
1b3159db8a74
|
|
1631 |
1b3159db8a74
|
c.set("view/passwords", False) |
1632 |
9b26b6070e40
|
gtk_run() |
1633 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "******") |
1634 |
1b3159db8a74
|
|
1635 |
1b3159db8a74
|
keep_timeout = False |
1636 |
9b26b6070e40
|
gtk_run() |
1637 |
1b3159db8a74
|
|
1638 |
1b3159db8a74
|
|
1639 |
1b3159db8a74
|
def test_password(self): |
1640 |
1b3159db8a74
|
"PasswordLabel sets password from password arg" |
1641 |
1b3159db8a74
|
|
1642 |
1b3159db8a74
|
label = ui.PasswordLabel("test123") |
1643 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "test123") |
1644 |
1b3159db8a74
|
self.assertEquals(label.password, "test123") |
1645 |
1b3159db8a74
|
|
1646 |
1b3159db8a74
|
|
1647 |
1b3159db8a74
|
def test_selectable(self): |
1648 |
1b3159db8a74
|
"PasswordLabel has selectable text" |
1649 |
1b3159db8a74
|
|
1650 |
1b3159db8a74
|
self.assertEquals(ui.PasswordLabel("test").get_selectable(), True) |
1651 |
1b3159db8a74
|
|
1652 |
1b3159db8a74
|
|
1653 |
1b3159db8a74
|
def test_subclass(self): |
1654 |
1b3159db8a74
|
"PasswordLabel is subclass of Label" |
1655 |
1b3159db8a74
|
|
1656 |
1b3159db8a74
|
self.assertEquals(isinstance(ui.PasswordLabel(), ui.Label), True) |
1657 |
1b3159db8a74
|
|
1658 |
1b3159db8a74
|
|
1659 |
1b3159db8a74
|
|
1660 |
1b3159db8a74
|
class PasswordLabel_show_password(unittest.TestCase): |
1661 |
1b3159db8a74
|
"PasswordLabel.show_password()" |
1662 |
1b3159db8a74
|
|
1663 |
1b3159db8a74
|
def test_show(self): |
1664 |
1b3159db8a74
|
"PasswordLabel.show_password() works as expected" |
1665 |
1b3159db8a74
|
|
1666 |
1b3159db8a74
|
label = ui.PasswordLabel("test123") |
1667 |
1b3159db8a74
|
|
1668 |
1b3159db8a74
|
label.show_password(True) |
1669 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "test123") |
1670 |
1b3159db8a74
|
|
1671 |
1b3159db8a74
|
label.show_password(False) |
1672 |
1b3159db8a74
|
self.assertEquals(label.get_text(), "******") |
1673 |
1b3159db8a74
|
|
1674 |
1b3159db8a74
|
|
1675 |
1b3159db8a74
|
|
1676 |
8ec66df6d4cf
|
class ScrolledWindow(unittest.TestCase): |
1677 |
8ec66df6d4cf
|
"ScrolledWindow" |
1678 |
8ec66df6d4cf
|
|
1679 |
8ec66df6d4cf
|
def test_content(self): |
1680 |
8ec66df6d4cf
|
"ScrolledWindow sets contents from argument" |
1681 |
8ec66df6d4cf
|
|
1682 |
8ec66df6d4cf
|
tree = ui.TreeView(gtk.TreeStore(str)) |
1683 |
8ec66df6d4cf
|
s = ui.ScrolledWindow(tree) |
1684 |
8ec66df6d4cf
|
|
1685 |
8ec66df6d4cf
|
self.assertEquals(s.get_child() is tree, True) |
1686 |
8ec66df6d4cf
|
|
1687 |
8ec66df6d4cf
|
|
1688 |
8ec66df6d4cf
|
def test_policy(self): |
1689 |
8ec66df6d4cf
|
"ScrolledWindow uses automatic scrollbar display by default" |
1690 |
8ec66df6d4cf
|
|
1691 |
8ec66df6d4cf
|
s = ui.ScrolledWindow() |
1692 |
8ec66df6d4cf
|
self.assertEquals(s.get_policy(), ( gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC )) |
1693 |
8ec66df6d4cf
|
|
1694 |
8ec66df6d4cf
|
|
1695 |
8ec66df6d4cf
|
def test_subclass(self): |
1696 |
8ec66df6d4cf
|
"ScrolledWindow is subclass of gtk.ScrolledWindow" |
1697 |
8ec66df6d4cf
|
|
1698 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.ScrolledWindow(), gtk.ScrolledWindow), True) |
1699 |
8ec66df6d4cf
|
|
1700 |
8ec66df6d4cf
|
|
1701 |
8ec66df6d4cf
|
|
1702 |
e0a14b958359
|
class Searchbar(unittest.TestCase): |
1703 |
e0a14b958359
|
"Searchbar" |
1704 |
e0a14b958359
|
|
1705 |
e0a14b958359
|
def test_subclass(self): |
1706 |
e0a14b958359
|
"Searchbar is subclass of gtk.Toolbar" |
1707 |
e0a14b958359
|
|
1708 |
e0a14b958359
|
self.assertEquals(isinstance(ui.Searchbar(), gtk.Toolbar), True) |
1709 |
e0a14b958359
|
|
1710 |
e0a14b958359
|
|
1711 |
e0a14b958359
|
|
1712 |
9b26b6070e40
|
class SpinEntry(unittest.TestCase): |
1713 |
9b26b6070e40
|
"SpinEntry" |
1714 |
9b26b6070e40
|
|
1715 |
9b26b6070e40
|
def test_increments(self): |
1716 |
9b26b6070e40
|
"SpinEntry uses 1 and 5 as increments" |
1717 |
9b26b6070e40
|
|
1718 |
9b26b6070e40
|
self.assertEquals(ui.SpinEntry().get_increments(), (1, 5)) |
1719 |
9b26b6070e40
|
|
1720 |
9b26b6070e40
|
|
1721 |
9b26b6070e40
|
def test_numeric(self): |
1722 |
9b26b6070e40
|
"SpinEntry is numeric only" |
1723 |
9b26b6070e40
|
|
1724 |
9b26b6070e40
|
self.assertEquals(ui.SpinEntry().get_numeric(), True) |
1725 |
9b26b6070e40
|
|
1726 |
9b26b6070e40
|
|
1727 |
9b26b6070e40
|
def test_subclass(self): |
1728 |
9b26b6070e40
|
"SpinEntry is subclass of gtk.SpinButton" |
1729 |
9b26b6070e40
|
|
1730 |
9b26b6070e40
|
self.assertEquals(isinstance(ui.SpinEntry(), gtk.SpinButton), True) |
1731 |
9b26b6070e40
|
|
1732 |
9b26b6070e40
|
|
1733 |
9b26b6070e40
|
|
1734 |
86bdcc2b8f52
|
class Statusbar(unittest.TestCase): |
1735 |
86bdcc2b8f52
|
"Statusbar" |
1736 |
86bdcc2b8f52
|
|
1737 |
86bdcc2b8f52
|
def test_subclass(self): |
1738 |
86bdcc2b8f52
|
"Statusbar is subclasss of gtk.Statusbar" |
1739 |
86bdcc2b8f52
|
|
1740 |
86bdcc2b8f52
|
self.assertEquals(isinstance(ui.Statusbar(), gtk.Statusbar), True) |
1741 |
86bdcc2b8f52
|
|
1742 |
86bdcc2b8f52
|
|
1743 |
86bdcc2b8f52
|
|
1744 |
86bdcc2b8f52
|
class Statusbar_clear(unittest.TestCase): |
1745 |
86bdcc2b8f52
|
"Statusbar.clear()" |
1746 |
86bdcc2b8f52
|
|
1747 |
86bdcc2b8f52
|
def test_clear(self): |
1748 |
86bdcc2b8f52
|
"Statusbar.clear() clears the statusbar" |
1749 |
86bdcc2b8f52
|
|
1750 |
86bdcc2b8f52
|
s = ui.Statusbar() |
1751 |
86bdcc2b8f52
|
s.set_status("test123") |
1752 |
86bdcc2b8f52
|
s.set_status("test") |
1753 |
86bdcc2b8f52
|
s.clear() |
1754 |
86bdcc2b8f52
|
self.assertEquals(s.get_children()[0].get_children()[0].get_text(), "") |
1755 |
86bdcc2b8f52
|
|
1756 |
86bdcc2b8f52
|
|
1757 |
86bdcc2b8f52
|
|
1758 |
86bdcc2b8f52
|
class Statusbar_set_text(unittest.TestCase): |
1759 |
86bdcc2b8f52
|
"Statusbar.set_text()" |
1760 |
86bdcc2b8f52
|
|
1761 |
86bdcc2b8f52
|
def test_text(self): |
1762 |
86bdcc2b8f52
|
"Statusbar.set_text() sets the statusbar text" |
1763 |
86bdcc2b8f52
|
|
1764 |
86bdcc2b8f52
|
s = ui.Statusbar() |
1765 |
86bdcc2b8f52
|
s.set_status("test123") |
1766 |
86bdcc2b8f52
|
self.assertEquals(s.get_children()[0].get_children()[0].get_text(), "test123") |
1767 |
86bdcc2b8f52
|
|
1768 |
86bdcc2b8f52
|
|
1769 |
86bdcc2b8f52
|
|
1770 |
1b3159db8a74
|
class TextView(unittest.TestCase): |
1771 |
1b3159db8a74
|
"TextView" |
1772 |
1b3159db8a74
|
|
1773 |
1b3159db8a74
|
def test_buffer(self): |
1774 |
1b3159db8a74
|
"TextView takes buffer as argument" |
1775 |
1b3159db8a74
|
|
1776 |
1b3159db8a74
|
buffer = gtk.TextBuffer() |
1777 |
1b3159db8a74
|
buffer.set_text("test123") |
1778 |
1b3159db8a74
|
self.assertEquals(ui.TextView(buffer).get_buffer() is buffer, True) |
1779 |
1b3159db8a74
|
|
1780 |
1b3159db8a74
|
|
1781 |
1b3159db8a74
|
def test_cursor(self): |
1782 |
1b3159db8a74
|
"TextView has hidden cursor by default" |
1783 |
1b3159db8a74
|
|
1784 |
1b3159db8a74
|
self.assertEquals(ui.TextView().get_cursor_visible(), False) |
1785 |
1b3159db8a74
|
|
1786 |
1b3159db8a74
|
|
1787 |
1b3159db8a74
|
def test_editable(self): |
1788 |
1b3159db8a74
|
"TextView is not editable by default" |
1789 |
1b3159db8a74
|
|
1790 |
1b3159db8a74
|
self.assertEquals(ui.TextView().get_editable(), False) |
1791 |
1b3159db8a74
|
|
1792 |
1b3159db8a74
|
|
1793 |
1b3159db8a74
|
def test_font(self): |
1794 |
1b3159db8a74
|
"TextView uses Monospace font by default" |
1795 |
1b3159db8a74
|
|
1796 |
1b3159db8a74
|
# TODO fix this |
1797 |
1b3159db8a74
|
#self.assertEquals(ui.TextView().get_pango_context().get_font_description().get_family(), "Monospace") |
1798 |
1b3159db8a74
|
pass |
1799 |
1b3159db8a74
|
|
1800 |
1b3159db8a74
|
|
1801 |
1b3159db8a74
|
def test_subclass(self): |
1802 |
1b3159db8a74
|
"TextView is subclass of gtk.TextView" |
1803 |
1b3159db8a74
|
|
1804 |
1b3159db8a74
|
self.assertEquals(isinstance(ui.TextView(), gtk.TextView), True) |
1805 |
1b3159db8a74
|
|
1806 |
1b3159db8a74
|
|
1807 |
1b3159db8a74
|
def test_text(self): |
1808 |
1b3159db8a74
|
"TextView takes text contents as argument" |
1809 |
1b3159db8a74
|
|
1810 |
1b3159db8a74
|
t = ui.TextView(None, "test123") |
1811 |
1b3159db8a74
|
b = t.get_buffer() |
1812 |
1b3159db8a74
|
self.assertEquals(b.get_text(b.get_start_iter(), b.get_end_iter()), "test123") |
1813 |
1b3159db8a74
|
|
1814 |
1b3159db8a74
|
|
1815 |
1b3159db8a74
|
def test_wrap(self): |
1816 |
1b3159db8a74
|
"TextView doesn't wrap by default" |
1817 |
1b3159db8a74
|
|
1818 |
1b3159db8a74
|
self.assertEquals(ui.TextView().get_wrap_mode(), gtk.WRAP_NONE) |
1819 |
1b3159db8a74
|
|
1820 |
1b3159db8a74
|
|
1821 |
1b3159db8a74
|
|
1822 |
e6acb28fe209
|
# TODO fix tests for internal callbacks (keyboard handling, drag/drop etc) |
1823 |
e6acb28fe209
|
class TreeView(unittest.TestCase): |
1824 |
e6acb28fe209
|
"TreeView" |
1825 |
e6acb28fe209
|
|
1826 |
e6acb28fe209
|
def test_headers_visible(self): |
1827 |
e6acb28fe209
|
"TreeView disables tree headers by default" |
1828 |
e6acb28fe209
|
|
1829 |
e6acb28fe209
|
self.assertEquals(ui.TreeView(data.EntryStore()).get_headers_visible(), False) |
1830 |
e6acb28fe209
|
|
1831 |
e6acb28fe209
|
|
1832 |
e6acb28fe209
|
def test_selection(self): |
1833 |
e6acb28fe209
|
"TreeView makes selection available through selection attribute" |
1834 |
e6acb28fe209
|
|
1835 |
e6acb28fe209
|
t = ui.TreeView(data.EntryStore()) |
1836 |
e6acb28fe209
|
self.assertEquals(t.selection is t.get_selection(), True) |
1837 |
e6acb28fe209
|
|
1838 |
e6acb28fe209
|
|
1839 |
e6acb28fe209
|
def test_subclass(self): |
1840 |
e6acb28fe209
|
"TreeView is subclass of gtk.TreeView" |
1841 |
e6acb28fe209
|
|
1842 |
e6acb28fe209
|
self.assertEquals(isinstance(ui.TreeView(data.EntryStore()), gtk.TreeView), True) |
1843 |
e6acb28fe209
|
|
1844 |
e6acb28fe209
|
|
1845 |
e6acb28fe209
|
|
1846 |
e6acb28fe209
|
class TreeView_collapse_row(unittest.TestCase): |
1847 |
e6acb28fe209
|
"TreeView.collapse_row()" |
1848 |
e6acb28fe209
|
|
1849 |
e6acb28fe209
|
def test_collapse(self): |
1850 |
e6acb28fe209
|
"TreeView.collapse_row() collapses row" |
1851 |
e6acb28fe209
|
|
1852 |
e6acb28fe209
|
e = data.EntryStore() |
1853 |
e6acb28fe209
|
fiter = e.add_entry(entry.FolderEntry()) |
1854 |
e6acb28fe209
|
iter = e.add_entry(entry.GenericEntry(), fiter) |
1855 |
e6acb28fe209
|
|
1856 |
e6acb28fe209
|
t = ui.TreeView(e) |
1857 |
e6acb28fe209
|
t.expand_row(fiter) |
1858 |
e6acb28fe209
|
t.collapse_row(fiter) |
1859 |
e6acb28fe209
|
|
1860 |
e6acb28fe209
|
self.assertEquals(t.row_expanded(( 0, )), False) |
1861 |
e6acb28fe209
|
|
1862 |
e6acb28fe209
|
|
1863 |
e6acb28fe209
|
def test_iter(self): |
1864 |
e6acb28fe209
|
"TreeView.collapse_row() takes iter instead of path" |
1865 |
e6acb28fe209
|
|
1866 |
e6acb28fe209
|
e = data.EntryStore() |
1867 |
e6acb28fe209
|
iter = e.add_entry(entry.GenericEntry()) |
1868 |
e6acb28fe209
|
|
1869 |
e6acb28fe209
|
t = ui.TreeView(e) |
1870 |
e6acb28fe209
|
t.collapse_row(iter) |
1871 |
e6acb28fe209
|
self.assertRaises(TypeError, t.collapse_row, ( 0, )) |
1872 |
e6acb28fe209
|
|
1873 |
e6acb28fe209
|
|
1874 |
e6acb28fe209
|
|
1875 |
86bdcc2b8f52
|
class TreeView_expand_row(unittest.TestCase): |
1876 |
86bdcc2b8f52
|
"TreeView.expand_row()" |
1877 |
86bdcc2b8f52
|
|
1878 |
86bdcc2b8f52
|
def test_expand(self): |
1879 |
86bdcc2b8f52
|
"TreeView.expand_row() expands row" |
1880 |
86bdcc2b8f52
|
|
1881 |
86bdcc2b8f52
|
e = data.EntryStore() |
1882 |
86bdcc2b8f52
|
fiter = e.add_entry(entry.FolderEntry()) |
1883 |
86bdcc2b8f52
|
iter = e.add_entry(entry.GenericEntry(), fiter) |
1884 |
86bdcc2b8f52
|
|
1885 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
1886 |
86bdcc2b8f52
|
t.expand_row(fiter) |
1887 |
86bdcc2b8f52
|
|
1888 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(( 0, )), True) |
1889 |
86bdcc2b8f52
|
|
1890 |
86bdcc2b8f52
|
|
1891 |
86bdcc2b8f52
|
def test_iter(self): |
1892 |
86bdcc2b8f52
|
"TreeView.expand_row() takes iter instead of path" |
1893 |
86bdcc2b8f52
|
|
1894 |
86bdcc2b8f52
|
e = data.EntryStore() |
1895 |
86bdcc2b8f52
|
iter = e.add_entry(entry.GenericEntry()) |
1896 |
86bdcc2b8f52
|
|
1897 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
1898 |
86bdcc2b8f52
|
t.expand_row(iter) |
1899 |
86bdcc2b8f52
|
self.assertRaises(TypeError, t.collapse_row, ( 0, )) |
1900 |
86bdcc2b8f52
|
|
1901 |
86bdcc2b8f52
|
|
1902 |
86bdcc2b8f52
|
|
1903 |
86bdcc2b8f52
|
class TreeView_expand_to_iter(unittest.TestCase): |
1904 |
86bdcc2b8f52
|
"TreeView.expand_to_iter()" |
1905 |
86bdcc2b8f52
|
|
1906 |
86bdcc2b8f52
|
def test_ancestors(self): |
1907 |
86bdcc2b8f52
|
"TreeView.expand_to_iter() expands all ancestor" |
1908 |
86bdcc2b8f52
|
|
1909 |
86bdcc2b8f52
|
e = data.EntryStore() |
1910 |
86bdcc2b8f52
|
piter1 = e.add_entry(entry.FolderEntry()) |
1911 |
86bdcc2b8f52
|
piter2 = e.add_entry(entry.FolderEntry(), piter1) |
1912 |
86bdcc2b8f52
|
piter3 = e.add_entry(entry.FolderEntry(), piter2) |
1913 |
86bdcc2b8f52
|
piter4 = e.add_entry(entry.FolderEntry(), piter3) |
1914 |
86bdcc2b8f52
|
iter = e.add_entry(entry.GenericEntry(), piter4) |
1915 |
86bdcc2b8f52
|
|
1916 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
1917 |
86bdcc2b8f52
|
t.expand_to_iter(iter) |
1918 |
86bdcc2b8f52
|
|
1919 |
86bdcc2b8f52
|
for i in ( piter1, piter2, piter3, piter4 ): |
1920 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(i)), True) |
1921 |
86bdcc2b8f52
|
|
1922 |
86bdcc2b8f52
|
def test_no_expand(self): |
1923 |
86bdcc2b8f52
|
"TreeView.expand_to_iter() doesn't expand the given iter" |
1924 |
86bdcc2b8f52
|
|
1925 |
86bdcc2b8f52
|
e = data.EntryStore() |
1926 |
86bdcc2b8f52
|
piter1 = e.add_entry(entry.FolderEntry()) |
1927 |
86bdcc2b8f52
|
piter2 = e.add_entry(entry.FolderEntry(), piter1) |
1928 |
86bdcc2b8f52
|
iter = e.add_entry(entry.GenericEntry(), piter2) |
1929 |
86bdcc2b8f52
|
|
1930 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
1931 |
86bdcc2b8f52
|
t.expand_to_iter(piter2) |
1932 |
86bdcc2b8f52
|
|
1933 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(piter2)), False) |
1934 |
86bdcc2b8f52
|
|
1935 |
86bdcc2b8f52
|
|
1936 |
86bdcc2b8f52
|
|
1937 |
86bdcc2b8f52
|
class TreeView_get_active(unittest.TestCase): |
1938 |
86bdcc2b8f52
|
"TreeView.get_active()" |
1939 |
86bdcc2b8f52
|
|
1940 |
86bdcc2b8f52
|
def test_cursor(self): |
1941 |
86bdcc2b8f52
|
"TreeView.get_active() returns the current cursor" |
1942 |
86bdcc2b8f52
|
|
1943 |
86bdcc2b8f52
|
e = data.EntryStore() |
1944 |
86bdcc2b8f52
|
iter1 = e.add_entry(entry.GenericEntry()) |
1945 |
86bdcc2b8f52
|
iter2 = e.add_entry(entry.GenericEntry()) |
1946 |
86bdcc2b8f52
|
|
1947 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
1948 |
86bdcc2b8f52
|
t.set_cursor(e.get_path(iter2)) |
1949 |
86bdcc2b8f52
|
|
1950 |
86bdcc2b8f52
|
self.assertEquals(e.get_path(t.get_active()), t.get_cursor()[0]) |
1951 |
86bdcc2b8f52
|
|
1952 |
86bdcc2b8f52
|
def test_selected(self): |
1953 |
86bdcc2b8f52
|
"TreeView.get_active() only returns cursor if selected" |
1954 |
86bdcc2b8f52
|
|
1955 |
86bdcc2b8f52
|
e = data.EntryStore() |
1956 |
86bdcc2b8f52
|
iter1 = e.add_entry(entry.GenericEntry()) |
1957 |
86bdcc2b8f52
|
iter2 = e.add_entry(entry.GenericEntry()) |
1958 |
86bdcc2b8f52
|
|
1959 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
1960 |
86bdcc2b8f52
|
t.set_cursor(e.get_path(iter2)) |
1961 |
86bdcc2b8f52
|
t.selection.unselect_iter(iter2) |
1962 |
86bdcc2b8f52
|
|
1963 |
86bdcc2b8f52
|
self.assertEquals(t.get_active(), None) |
1964 |
86bdcc2b8f52
|
|
1965 |
86bdcc2b8f52
|
|
1966 |
86bdcc2b8f52
|
class TreeView_get_selected(unittest.TestCase): |
1967 |
86bdcc2b8f52
|
"TreeView.get_selected()" |
1968 |
86bdcc2b8f52
|
|
1969 |
86bdcc2b8f52
|
def test_selected(self): |
1970 |
86bdcc2b8f52
|
"TreeView.get_selected() returns list of selected iters" |
1971 |
86bdcc2b8f52
|
|
1972 |
86bdcc2b8f52
|
e = data.EntryStore() |
1973 |
86bdcc2b8f52
|
iters = [] |
1974 |
86bdcc2b8f52
|
|
1975 |
86bdcc2b8f52
|
iters.append(e.add_entry(entry.GenericEntry())) |
1976 |
86bdcc2b8f52
|
iters.append(e.add_entry(entry.GenericEntry())) |
1977 |
86bdcc2b8f52
|
iters.append(e.add_entry(entry.GenericEntry())) |
1978 |
86bdcc2b8f52
|
iters.append(e.add_entry(entry.GenericEntry())) |
1979 |
86bdcc2b8f52
|
|
1980 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
1981 |
86bdcc2b8f52
|
t.selection.select_iter(iters[0]) |
1982 |
86bdcc2b8f52
|
t.selection.select_iter(iters[2]) |
1983 |
86bdcc2b8f52
|
t.selection.select_iter(iters[3]) |
1984 |
86bdcc2b8f52
|
|
1985 |
86bdcc2b8f52
|
selected = t.get_selected() |
1986 |
86bdcc2b8f52
|
|
1987 |
86bdcc2b8f52
|
self.assertEquals(e.get_path(iters[0]), e.get_path(selected[0])) |
1988 |
86bdcc2b8f52
|
self.assertEquals(e.get_path(iters[2]), e.get_path(selected[1])) |
1989 |
86bdcc2b8f52
|
self.assertEquals(e.get_path(iters[3]), e.get_path(selected[2])) |
1990 |
86bdcc2b8f52
|
|
1991 |
86bdcc2b8f52
|
|
1992 |
86bdcc2b8f52
|
|
1993 |
86bdcc2b8f52
|
class TreeView_select(unittest.TestCase): |
1994 |
86bdcc2b8f52
|
"TreeView.select()" |
1995 |
86bdcc2b8f52
|
|
1996 |
86bdcc2b8f52
|
def test_cursor(self): |
1997 |
86bdcc2b8f52
|
"TreeView.select() sets the cursor to the row" |
1998 |
86bdcc2b8f52
|
|
1999 |
86bdcc2b8f52
|
e = data.EntryStore() |
2000 |
86bdcc2b8f52
|
iter1 = e.add_entry(entry.GenericEntry()) |
2001 |
86bdcc2b8f52
|
iter2 = e.add_entry(entry.GenericEntry()) |
2002 |
86bdcc2b8f52
|
|
2003 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2004 |
86bdcc2b8f52
|
t.select(iter2) |
2005 |
86bdcc2b8f52
|
|
2006 |
86bdcc2b8f52
|
self.assertEquals(t.get_cursor()[0], e.get_path(iter2)) |
2007 |
86bdcc2b8f52
|
|
2008 |
86bdcc2b8f52
|
|
2009 |
86bdcc2b8f52
|
def test_expand(self): |
2010 |
86bdcc2b8f52
|
"TreeView.select() expands all ancestors" |
2011 |
86bdcc2b8f52
|
|
2012 |
86bdcc2b8f52
|
e = data.EntryStore() |
2013 |
86bdcc2b8f52
|
fiter1 = e.add_entry(entry.FolderEntry()) |
2014 |
86bdcc2b8f52
|
fiter2 = e.add_entry(entry.FolderEntry(), fiter1) |
2015 |
86bdcc2b8f52
|
iter = e.add_entry(entry.GenericEntry(), fiter2) |
2016 |
86bdcc2b8f52
|
|
2017 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2018 |
86bdcc2b8f52
|
t.select(iter) |
2019 |
86bdcc2b8f52
|
|
2020 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(fiter1)), True) |
2021 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(fiter2)), True) |
2022 |
86bdcc2b8f52
|
|
2023 |
86bdcc2b8f52
|
|
2024 |
86bdcc2b8f52
|
def test_select(self): |
2025 |
86bdcc2b8f52
|
"TreeView.select() unselects all on None" |
2026 |
86bdcc2b8f52
|
|
2027 |
86bdcc2b8f52
|
e = data.EntryStore() |
2028 |
86bdcc2b8f52
|
iter1 = e.add_entry(entry.GenericEntry()) |
2029 |
86bdcc2b8f52
|
iter2 = e.add_entry(entry.GenericEntry()) |
2030 |
86bdcc2b8f52
|
|
2031 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2032 |
86bdcc2b8f52
|
t.select(iter2) |
2033 |
86bdcc2b8f52
|
|
2034 |
86bdcc2b8f52
|
self.assertEquals(t.selection.iter_is_selected(iter1), False) |
2035 |
86bdcc2b8f52
|
self.assertEquals(t.selection.iter_is_selected(iter2), True) |
2036 |
86bdcc2b8f52
|
|
2037 |
86bdcc2b8f52
|
t.select(None) |
2038 |
86bdcc2b8f52
|
self.assertEquals(t.get_selected(), []) |
2039 |
86bdcc2b8f52
|
self.assertEquals(t.get_active(), None) |
2040 |
86bdcc2b8f52
|
|
2041 |
86bdcc2b8f52
|
|
2042 |
86bdcc2b8f52
|
def test_select(self): |
2043 |
86bdcc2b8f52
|
"TreeView.select() selects the row" |
2044 |
86bdcc2b8f52
|
|
2045 |
86bdcc2b8f52
|
e = data.EntryStore() |
2046 |
86bdcc2b8f52
|
iter1 = e.add_entry(entry.GenericEntry()) |
2047 |
86bdcc2b8f52
|
iter2 = e.add_entry(entry.GenericEntry()) |
2048 |
86bdcc2b8f52
|
|
2049 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2050 |
86bdcc2b8f52
|
t.select(iter2) |
2051 |
86bdcc2b8f52
|
|
2052 |
86bdcc2b8f52
|
self.assertEquals(t.selection.iter_is_selected(iter1), False) |
2053 |
86bdcc2b8f52
|
self.assertEquals(t.selection.iter_is_selected(iter2), True) |
2054 |
86bdcc2b8f52
|
|
2055 |
86bdcc2b8f52
|
|
2056 |
86bdcc2b8f52
|
|
2057 |
86bdcc2b8f52
|
class TreeView_set_model(unittest.TestCase): |
2058 |
86bdcc2b8f52
|
"TreeView.set_model()" |
2059 |
86bdcc2b8f52
|
|
2060 |
86bdcc2b8f52
|
def test_attr(self): |
2061 |
86bdcc2b8f52
|
"TreeView.set_model() sets the .model attribute" |
2062 |
86bdcc2b8f52
|
|
2063 |
86bdcc2b8f52
|
e = data.EntryStore() |
2064 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2065 |
86bdcc2b8f52
|
|
2066 |
86bdcc2b8f52
|
e2 = data.EntryStore() |
2067 |
86bdcc2b8f52
|
t.set_model(e2) |
2068 |
86bdcc2b8f52
|
|
2069 |
86bdcc2b8f52
|
self.assertEquals(t.model is e, False) |
2070 |
86bdcc2b8f52
|
self.assertEquals(t.model is e2, True) |
2071 |
86bdcc2b8f52
|
|
2072 |
86bdcc2b8f52
|
|
2073 |
86bdcc2b8f52
|
|
2074 |
86bdcc2b8f52
|
class TreeView_toggle_expanded(unittest.TestCase): |
2075 |
86bdcc2b8f52
|
"TreeView.toggle_expanded()" |
2076 |
86bdcc2b8f52
|
|
2077 |
86bdcc2b8f52
|
def test_collapse(self): |
2078 |
86bdcc2b8f52
|
"TreeView.toggle_expanded() collapses expanded rows" |
2079 |
86bdcc2b8f52
|
|
2080 |
86bdcc2b8f52
|
e = data.EntryStore() |
2081 |
86bdcc2b8f52
|
fiter = e.add_entry(entry.FolderEntry()) |
2082 |
86bdcc2b8f52
|
iter = e.add_entry(entry.GenericEntry(), fiter) |
2083 |
86bdcc2b8f52
|
|
2084 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2085 |
86bdcc2b8f52
|
t.expand_row(fiter) |
2086 |
86bdcc2b8f52
|
|
2087 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(fiter)), True) |
2088 |
86bdcc2b8f52
|
t.toggle_expanded(fiter) |
2089 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(fiter)), False) |
2090 |
86bdcc2b8f52
|
|
2091 |
86bdcc2b8f52
|
|
2092 |
86bdcc2b8f52
|
def test_expand(self): |
2093 |
86bdcc2b8f52
|
"TreeView.toggle_expanded() expands collapsed rows" |
2094 |
86bdcc2b8f52
|
|
2095 |
86bdcc2b8f52
|
e = data.EntryStore() |
2096 |
86bdcc2b8f52
|
fiter = e.add_entry(entry.FolderEntry()) |
2097 |
86bdcc2b8f52
|
iter = e.add_entry(entry.GenericEntry(), fiter) |
2098 |
86bdcc2b8f52
|
|
2099 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2100 |
86bdcc2b8f52
|
|
2101 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(fiter)), False) |
2102 |
86bdcc2b8f52
|
t.toggle_expanded(fiter) |
2103 |
86bdcc2b8f52
|
self.assertEquals(t.row_expanded(e.get_path(fiter)), True) |
2104 |
86bdcc2b8f52
|
|
2105 |
86bdcc2b8f52
|
|
2106 |
86bdcc2b8f52
|
class TreeView_unselect_all(unittest.TestCase): |
2107 |
86bdcc2b8f52
|
"TreeView.unselect_all()" |
2108 |
86bdcc2b8f52
|
|
2109 |
86bdcc2b8f52
|
def test_unselect(self): |
2110 |
86bdcc2b8f52
|
"TreeView.unselect_all() unselects all rows" |
2111 |
86bdcc2b8f52
|
|
2112 |
86bdcc2b8f52
|
e = data.EntryStore() |
2113 |
86bdcc2b8f52
|
iter1 = e.add_entry(entry.GenericEntry()) |
2114 |
86bdcc2b8f52
|
iter2 = e.add_entry(entry.GenericEntry()) |
2115 |
86bdcc2b8f52
|
|
2116 |
86bdcc2b8f52
|
t = ui.TreeView(e) |
2117 |
86bdcc2b8f52
|
|
2118 |
86bdcc2b8f52
|
t.select(iter2) |
2119 |
86bdcc2b8f52
|
self.assertEquals(len(t.get_selected()), 1) |
2120 |
86bdcc2b8f52
|
|
2121 |
86bdcc2b8f52
|
t.unselect_all() |
2122 |
86bdcc2b8f52
|
self.assertEquals(t.get_selected(), []) |
2123 |
86bdcc2b8f52
|
|
2124 |
86bdcc2b8f52
|
|
2125 |
86bdcc2b8f52
|
|
2126 |
8ec66df6d4cf
|
class Toolbar(unittest.TestCase): |
2127 |
8ec66df6d4cf
|
"Toolbar" |
2128 |
8ec66df6d4cf
|
|
2129 |
8ec66df6d4cf
|
def test_subclass(self): |
2130 |
8ec66df6d4cf
|
"Toolbar is subclass of gtk.Toolbar" |
2131 |
8ec66df6d4cf
|
|
2132 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.Toolbar(), gtk.Toolbar), True) |
2133 |
8ec66df6d4cf
|
|
2134 |
8ec66df6d4cf
|
|
2135 |
8ec66df6d4cf
|
|
2136 |
8ec66df6d4cf
|
class Toolbar_append_widget(unittest.TestCase): |
2137 |
8ec66df6d4cf
|
"Toolbar.append_widget()" |
2138 |
8ec66df6d4cf
|
|
2139 |
8ec66df6d4cf
|
def test_append(self): |
2140 |
8ec66df6d4cf
|
"Toolbar.append_widget() appends a widget" |
2141 |
8ec66df6d4cf
|
|
2142 |
8ec66df6d4cf
|
label = ui.Label("test") |
2143 |
8ec66df6d4cf
|
toolbar = ui.Toolbar() |
2144 |
8ec66df6d4cf
|
toolbar.append_widget(label) |
2145 |
8ec66df6d4cf
|
|
2146 |
8ec66df6d4cf
|
self.assertEquals(len(toolbar.get_children()), 1) |
2147 |
8ec66df6d4cf
|
self.assertEquals(toolbar.get_children()[0].get_child() is label, True) |
2148 |
8ec66df6d4cf
|
|
2149 |
8ec66df6d4cf
|
|
2150 |
8ec66df6d4cf
|
|
2151 |
e0a14b958359
|
class UIManager(unittest.TestCase): |
2152 |
e0a14b958359
|
"UIManager" |
2153 |
e0a14b958359
|
|
2154 |
e0a14b958359
|
def test_subclass(self): |
2155 |
e0a14b958359
|
"UIManager is subclass of gtk.UIManager" |
2156 |
e0a14b958359
|
|
2157 |
e0a14b958359
|
self.assertEquals(isinstance(ui.UIManager(), gtk.UIManager), True) |
2158 |
e0a14b958359
|
|
2159 |
e0a14b958359
|
|
2160 |
e0a14b958359
|
|
2161 |
e0a14b958359
|
class UIManager_add_actions_from_file(unittest.TestCase): |
2162 |
e0a14b958359
|
"UIManager.add_actions_from_file()" |
2163 |
e0a14b958359
|
|
2164 |
e0a14b958359
|
def test_ioerror(self): |
2165 |
e0a14b958359
|
"UIManager.add_actions_from_file() raises IOError on file error" |
2166 |
e0a14b958359
|
|
2167 |
e0a14b958359
|
self.assertRaises(IOError, ui.UIManager().add_actions_from_file, "/dummyfile123") |
2168 |
e0a14b958359
|
|
2169 |
e0a14b958359
|
|
2170 |
e0a14b958359
|
|
2171 |
e0a14b958359
|
class UIManager_add_actions_from_string(unittest.TestCase): |
2172 |
e0a14b958359
|
"UIManager.add_actions_from_string()" |
2173 |
e0a14b958359
|
|
2174 |
e0a14b958359
|
def test_action(self): |
2175 |
e0a14b958359
|
"UIManager.add_actions_from_string() creates action correctly" |
2176 |
e0a14b958359
|
|
2177 |
e0a14b958359
|
mgr = ui.UIManager() |
2178 |
e0a14b958359
|
|
2179 |
e0a14b958359
|
mgr.add_actions_from_string(""" |
2180 |
e0a14b958359
|
<?xml version=\"1.0\" ?> |
2181 |
e0a14b958359
|
<actions> |
2182 |
e0a14b958359
|
<actiongroup name=\"testgroup\"> |
2183 |
e0a14b958359
|
<action> |
2184 |
e0a14b958359
|
<name>test</name> |
2185 |
e0a14b958359
|
<label>Just a test</label> |
2186 |
e0a14b958359
|
<stock>gtk-ok</stock> |
2187 |
e0a14b958359
|
<accel><Control>O</accel> |
2188 |
e0a14b958359
|
<description>Test-description</description> |
2189 |
e0a14b958359
|
</action> |
2190 |
e0a14b958359
|
</actiongroup> |
2191 |
e0a14b958359
|
</actions> |
2192 |
e0a14b958359
|
""") |
2193 |
e0a14b958359
|
|
2194 |
e0a14b958359
|
action = mgr.get_action("test") |
2195 |
e0a14b958359
|
|
2196 |
e0a14b958359
|
self.assertEquals(action.get_property("name"), "test") |
2197 |
e0a14b958359
|
self.assertEquals(action.get_property("label"), "Just a test") |
2198 |
e0a14b958359
|
self.assertEquals(action.get_property("stock-id"), "gtk-ok") |
2199 |
e0a14b958359
|
self.assertEquals(action.get_property("tooltip"), "Test-description") |
2200 |
e0a14b958359
|
self.assertEquals(action.get_property("action-group").get_name(), "testgroup") |
2201 |
e0a14b958359
|
|
2202 |
e0a14b958359
|
|
2203 |
e0a14b958359
|
def test_actiongroup(self): |
2204 |
e0a14b958359
|
"UIManager.add_actions_from_string() creates action groups" |
2205 |
e0a14b958359
|
|
2206 |
e0a14b958359
|
mgr = ui.UIManager() |
2207 |
e0a14b958359
|
|
2208 |
e0a14b958359
|
mgr.add_actions_from_string(""" |
2209 |
e0a14b958359
|
<?xml version=\"1.0\" ?> |
2210 |
e0a14b958359
|
<actions> |
2211 |
e0a14b958359
|
<actiongroup name=\"testgroup\"> |
2212 |
e0a14b958359
|
<action> |
2213 |
e0a14b958359
|
<name>test</name> |
2214 |
e0a14b958359
|
<label>Just a test</label> |
2215 |
e0a14b958359
|
<stock>gtk-ok</stock> |
2216 |
e0a14b958359
|
<accel><Control>O</accel> |
2217 |
e0a14b958359
|
<description>Test-description</description> |
2218 |
e0a14b958359
|
</action> |
2219 |
e0a14b958359
|
</actiongroup> |
2220 |
e0a14b958359
|
</actions> |
2221 |
e0a14b958359
|
""") |
2222 |
e0a14b958359
|
|
2223 |
e0a14b958359
|
actiongroup = mgr.get_action_group("testgroup") |
2224 |
e0a14b958359
|
self.assertEquals(isinstance(actiongroup, gtk.ActionGroup), True) |
2225 |
e0a14b958359
|
|
2226 |
e0a14b958359
|
|
2227 |
e0a14b958359
|
def test_invalid(self): |
2228 |
e0a14b958359
|
"UIManager.add_actions_from_string() raises DataError on invalid data" |
2229 |
e0a14b958359
|
|
2230 |
e0a14b958359
|
xml = """ |
2231 |
e0a14b958359
|
<?xml version="1.0" ?> |
2232 |
e0a14b958359
|
<actions> |
2233 |
e0a14b958359
|
<dummy></dummy> |
2234 |
e0a14b958359
|
</action> |
2235 |
e0a14b958359
|
""" |
2236 |
e0a14b958359
|
|
2237 |
e0a14b958359
|
self.assertRaises(ui.DataError, ui.UIManager().add_actions_from_string, xml) |
2238 |
e0a14b958359
|
|
2239 |
e0a14b958359
|
|
2240 |
e0a14b958359
|
def test_optional(self): |
2241 |
e0a14b958359
|
"UIManager.add_actions_from_string() uses optional action elements" |
2242 |
e0a14b958359
|
|
2243 |
e0a14b958359
|
mgr = ui.UIManager() |
2244 |
e0a14b958359
|
|
2245 |
e0a14b958359
|
mgr.add_actions_from_string(""" |
2246 |
e0a14b958359
|
<?xml version=\"1.0\" ?> |
2247 |
e0a14b958359
|
<actions> |
2248 |
e0a14b958359
|
<actiongroup name=\"testgroup\"> |
2249 |
e0a14b958359
|
<action> |
2250 |
e0a14b958359
|
<name>test</name> |
2251 |
e0a14b958359
|
</action> |
2252 |
e0a14b958359
|
</actiongroup> |
2253 |
e0a14b958359
|
</actions> |
2254 |
e0a14b958359
|
""") |
2255 |
e0a14b958359
|
|
2256 |
e0a14b958359
|
action = mgr.get_action("test") |
2257 |
e0a14b958359
|
|
2258 |
e0a14b958359
|
self.assertEquals(action.get_property("name"), "test") |
2259 |
e0a14b958359
|
self.assertEquals(action.get_property("label"), "") |
2260 |
e0a14b958359
|
self.assertEquals(action.get_property("stock-id"), "") |
2261 |
e0a14b958359
|
self.assertEquals(action.get_property("tooltip"), "") |
2262 |
e0a14b958359
|
self.assertEquals(action.get_property("action-group").get_name(), "testgroup") |
2263 |
e0a14b958359
|
|
2264 |
e0a14b958359
|
|
2265 |
e0a14b958359
|
|
2266 |
e0a14b958359
|
class UIManager_add_ui_from_file(unittest.TestCase): |
2267 |
e0a14b958359
|
"UIManager.add_ui_from_file()" |
2268 |
e0a14b958359
|
|
2269 |
e0a14b958359
|
def test_ioerror(self): |
2270 |
e0a14b958359
|
"UIManager.add_ui_from_file() raises IOError on file error" |
2271 |
e0a14b958359
|
|
2272 |
e0a14b958359
|
self.assertRaises(IOError, ui.UIManager().add_ui_from_file, "/dummyfile123") |
2273 |
e0a14b958359
|
|
2274 |
e0a14b958359
|
|
2275 |
e0a14b958359
|
|
2276 |
e0a14b958359
|
class UIManager_append_action_group(unittest.TestCase): |
2277 |
e0a14b958359
|
"UIManager.append_action_group()" |
2278 |
e0a14b958359
|
|
2279 |
e0a14b958359
|
def test_append(self): |
2280 |
e0a14b958359
|
"UIManager.append_action_group() appends action group" |
2281 |
e0a14b958359
|
|
2282 |
e0a14b958359
|
mgr = ui.UIManager() |
2283 |
e0a14b958359
|
mgr.add_actions_from_string(""" |
2284 |
e0a14b958359
|
<?xml version="1.0" ?> |
2285 |
e0a14b958359
|
<actions> |
2286 |
e0a14b958359
|
<actiongroup name="testa" /> |
2287 |
e0a14b958359
|
<actiongroup name="testb" /> |
2288 |
e0a14b958359
|
</actions> |
2289 |
e0a14b958359
|
""") |
2290 |
e0a14b958359
|
|
2291 |
e0a14b958359
|
group = gtk.ActionGroup("testc") |
2292 |
e0a14b958359
|
mgr.append_action_group(group) |
2293 |
e0a14b958359
|
|
2294 |
e0a14b958359
|
self.assertEquals(mgr.get_action_group("testc") is group, True) |
2295 |
e0a14b958359
|
self.assertEquals(mgr.get_action_groups()[2], group) |
2296 |
e0a14b958359
|
|
2297 |
e0a14b958359
|
|
2298 |
e0a14b958359
|
|
2299 |
e0a14b958359
|
class UIManager_get_action(unittest.TestCase): |
2300 |
e0a14b958359
|
"UIManager.get_action()" |
2301 |
e0a14b958359
|
|
2302 |
e0a14b958359
|
def test_action(self): |
2303 |
e0a14b958359
|
"UIManager.get_action() looks up action" |
2304 |
e0a14b958359
|
|
2305 |
e0a14b958359
|
mgr = ui.UIManager() |
2306 |
e0a14b958359
|
mgr.add_actions_from_string(""" |
2307 |
e0a14b958359
|
<?xml version="1.0" ?> |
2308 |
e0a14b958359
|
<actions> |
2309 |
e0a14b958359
|
<actiongroup name="testgroup"> |
2310 |
e0a14b958359
|
<action> |
2311 |
e0a14b958359
|
<name>testaction</name> |
2312 |
e0a14b958359
|
</action> |
2313 |
e0a14b958359
|
</actiongroup> |
2314 |
e0a14b958359
|
</actions> |
2315 |
e0a14b958359
|
""") |
2316 |
e0a14b958359
|
|
2317 |
e0a14b958359
|
action = mgr.get_action("testaction") |
2318 |
e0a14b958359
|
self.assertEquals(isinstance(action, gtk.Action), True) |
2319 |
e0a14b958359
|
self.assertEquals(action.get_property("name"), "testaction") |
2320 |
e0a14b958359
|
|
2321 |
e0a14b958359
|
|
2322 |
e0a14b958359
|
def test_none(self): |
2323 |
e0a14b958359
|
"UIManager.get_action() returns None if not found" |
2324 |
e0a14b958359
|
|
2325 |
e0a14b958359
|
self.assertEquals(ui.UIManager().get_action("test"), None) |
2326 |
e0a14b958359
|
|
2327 |
e0a14b958359
|
|
2328 |
e0a14b958359
|
|
2329 |
e0a14b958359
|
class UIManager_get_action_group(unittest.TestCase): |
2330 |
e0a14b958359
|
"UIManager.get_action_group()" |
2331 |
e0a14b958359
|
|
2332 |
e0a14b958359
|
def test_action(self): |
2333 |
e0a14b958359
|
"UIManager.get_action_group() looks up group" |
2334 |
e0a14b958359
|
|
2335 |
e0a14b958359
|
mgr = ui.UIManager() |
2336 |
e0a14b958359
|
mgr.add_actions_from_string(""" |
2337 |
e0a14b958359
|
<?xml version="1.0" ?> |
2338 |
e0a14b958359
|
<actions> |
2339 |
e0a14b958359
|
<actiongroup name="testgroup"> |
2340 |
e0a14b958359
|
<action> |
2341 |
e0a14b958359
|
<name>testaction</name> |
2342 |
e0a14b958359
|
</action> |
2343 |
e0a14b958359
|
</actiongroup> |
2344 |
e0a14b958359
|
</actions> |
2345 |
e0a14b958359
|
""") |
2346 |
e0a14b958359
|
|
2347 |
e0a14b958359
|
group = mgr.get_action_group("testgroup") |
2348 |
e0a14b958359
|
self.assertEquals(isinstance(group, gtk.ActionGroup), True) |
2349 |
e0a14b958359
|
self.assertEquals(group.get_name(), "testgroup") |
2350 |
e0a14b958359
|
|
2351 |
e0a14b958359
|
|
2352 |
e0a14b958359
|
def test_none(self): |
2353 |
e0a14b958359
|
"UIManager.get_action_group() returns None if not found" |
2354 |
e0a14b958359
|
|
2355 |
e0a14b958359
|
self.assertEquals(ui.UIManager().get_action_group("test"), None) |
2356 |
e0a14b958359
|
|
2357 |
e0a14b958359
|
|
2358 |
e0a14b958359
|
|
2359 |
8ec66df6d4cf
|
class VBox(unittest.TestCase): |
2360 |
8ec66df6d4cf
|
"VBox" |
2361 |
8ec66df6d4cf
|
|
2362 |
8ec66df6d4cf
|
def test_children(self): |
2363 |
8ec66df6d4cf
|
"VBox accepts children as arguments" |
2364 |
8ec66df6d4cf
|
|
2365 |
8ec66df6d4cf
|
vbox = ui.VBox(ui.Label("a"), ui.Label("b"), ui.Label("c")) |
2366 |
8ec66df6d4cf
|
|
2367 |
8ec66df6d4cf
|
self.assertEquals(len(vbox.get_children()), 3) |
2368 |
8ec66df6d4cf
|
self.assertEquals(vbox.get_children()[0].get_text(), "a") |
2369 |
8ec66df6d4cf
|
self.assertEquals(vbox.get_children()[1].get_text(), "b") |
2370 |
8ec66df6d4cf
|
self.assertEquals(vbox.get_children()[2].get_text(), "c") |
2371 |
8ec66df6d4cf
|
|
2372 |
8ec66df6d4cf
|
|
2373 |
8ec66df6d4cf
|
def test_hig(self): |
2374 |
8ec66df6d4cf
|
"VBox conforms to the HIG" |
2375 |
8ec66df6d4cf
|
|
2376 |
8ec66df6d4cf
|
vbox = ui.VBox() |
2377 |
8ec66df6d4cf
|
self.assertEquals(vbox.get_spacing(), 6) |
2378 |
8ec66df6d4cf
|
self.assertEquals(vbox.get_border_width(), 0) |
2379 |
8ec66df6d4cf
|
|
2380 |
8ec66df6d4cf
|
|
2381 |
8ec66df6d4cf
|
def test_subclass(self): |
2382 |
8ec66df6d4cf
|
"VBox is subclass of gtk.VBox" |
2383 |
8ec66df6d4cf
|
|
2384 |
8ec66df6d4cf
|
self.assertEquals(isinstance(ui.VBox(), gtk.VBox), True) |
2385 |
8ec66df6d4cf
|
|
2386 |
8ec66df6d4cf
|
|
2387 |
8ec66df6d4cf
|
|
2388 |
9b26b6070e40
|
def gtk_run(): |
2389 |
9b26b6070e40
|
while gtk.events_pending(): |
2390 |
9b26b6070e40
|
gtk.main_iteration() |
2391 |
9b26b6070e40
|
|
2392 |
9b26b6070e40
|
|
2393 |
9b26b6070e40
|
|
2394 |
8ec66df6d4cf
|
if __name__ == "__main__": |
2395 |
e0a14b958359
|
gnome.init("revelation-test", "revelation-test") |
2396 |
8ec66df6d4cf
|
unittest.main() |
2397 |
8ec66df6d4cf
|