def testAllMenuItemsAreDocumented(self):
        def menuitems(parent, level=0):
            for mi in parent.get_children():
                if isinstance(mi, ImageMenuItem):
                    yield mi, level
                sm = mi.get_submenu()
                if sm:
                    for mi_sm in menuitems(sm, level + 1):
                        yield mi_sm

        for menuitem, level in menuitems(self.mainwindow.menubar):
            label = menuitem.get_label().replace('_', '').rstrip('.')
            accel_path = menuitem.get_accel_path()
            accel_label = Gtk.accelerator_get_label(
                Gtk.AccelMap().lookup_entry(accel_path).key.accel_key,
                Gtk.AccelMap().lookup_entry(accel_path).key.accel_mods)
            if accel_label:
                if '++' in accel_label:
                    label += ' <' + accel_label.replace('++', '><+') + '>'
                else:
                    label += ' <' + accel_label.replace('+', '><') + '>'
            if level:
                label = '**' + label + '**'
            else:
                label = '===== ' + label + ' ====='
            self.assertTrue(label in self.manual,
                            'Menu item "{}" not documented'.format(label))
示例#2
0
 def test_classes(self):
     g = GObject.Object()
     self.assertTrue(isinstance(g, GObject.Object))
     a = Gtk.AccelMap()
     self.assertTrue(isinstance(a, type(g)))