~nataliabidart/magicicada-gui/glade-ui

« back to all changes in this revision

Viewing changes to magicicada/gui/gtk/tests/__init__.py

  • Committer: Tarmac
  • Author(s): Natalia B. Bidart
  • Date: 2012-08-21 23:27:53 UTC
  • mfrom: (126.1.4 migrate-to-gi)
  • Revision ID: tarmac-20120821232753-6x28f05vmms0ts3j
- Migrating the GTK+ UI to use GObject instrospection.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
 
21
21
import logging
22
22
 
23
 
import gtk
 
23
# pylint: disable=E0611
 
24
from gi.repository import Gtk
 
25
# pylint: enable=E0611
24
26
 
25
27
from twisted.internet import defer
26
28
from twisted.trial.unittest import TestCase
234
236
            self.memento.setLevel(logging.DEBUG)
235
237
            self.ui.logger.addHandler(self.memento)
236
238
            self.ui.logger.setLevel(logging.DEBUG)
237
 
            self.addCleanup(lambda: self.ui.logger.removeHandler(self.memento))
 
239
            self.addCleanup(self.ui.logger.removeHandler, self.memento)
238
240
 
239
241
        if getattr(self.ui, 'on_destroy', None) is not None:
240
242
            self.addCleanup(self.ui.on_destroy)
249
251
        self.assertEqual(len(store), len(items),
250
252
                         msg % (store, len(items), len(store)))
251
253
 
 
254
        def unicodeize(elem):
 
255
            """Return the unicode repr of 'elem'."""
 
256
            if isinstance(elem, str):
 
257
                result = elem.decode('utf-8')
 
258
            else:
 
259
                result = elem
 
260
            return result
 
261
 
252
262
        def scan_tree(tree_iter, items):
253
263
            """Scan a whole tree."""
254
264
            msg = "row must be %r (got %r instead)"
255
265
            while tree_iter is not None:
256
266
                expected, children = items.pop()
257
 
                expected = tuple(expected)
258
267
                actual = store.get(tree_iter, *range(len(expected)))
 
268
                actual = map(unicodeize, actual)
259
269
                self.assertEqual(expected, actual,
260
270
                                 msg % (expected, actual))
261
271
                self.assertEqual(len(children),
268
278
                tree_iter = store.iter_next(tree_iter)
269
279
 
270
280
        # assert rows content equal to items content
271
 
        root_iter = store.get_iter_root()
 
281
        root_iter = store.get_iter_first()
272
282
        tmp = list(reversed(items))
273
283
        scan_tree(root_iter, tmp)
274
284
 
275
285
    def debug_store(self):
276
286
        """Print the whole content of a store."""
277
 
        store_iter = self.store.get_iter_root()
 
287
        store_iter = self.store.get_iter_first()
278
288
        columns = self.store.get_n_columns()
279
289
        print '\nShowing contents of store:', self.store
280
290
        while store_iter is not None:
282
292
            store_iter = self.store.iter_next(store_iter)
283
293
 
284
294
    def assert_dialog_properties(self, dialog, title=None,  modal=True,
285
 
                                position=gtk.WIN_POS_CENTER_ON_PARENT):
 
295
                                position=Gtk.WindowPosition.CENTER_ON_PARENT):
286
296
        """The dialog has correct properties."""
287
297
        msg = 'Must %sbe modal.'
288
298
        self.assertEqual(modal, dialog.get_modal(),
294
304
                         msg % (position, actual_position))
295
305
 
296
306
        actual = dialog.get_title()
297
 
        msg = 'Title must be %s (got %s instead)'
 
307
        msg = 'Title must be %r (got %r instead)'
298
308
        self.assertEqual(title, actual, msg % (title, actual))
299
309
 
300
310
        msg = 'Must not skip taskbar.'