diff options
author | Paul Pogonyshev <pogonyshev@gmx.net> | 2008-06-22 20:17:18 +0000 |
---|---|---|
committer | Paul Pogonyshev <paulp@src.gnome.org> | 2008-06-22 20:17:18 +0000 |
commit | de8384cdd547ffa3d5467501da00e2eb01b5aabd (patch) | |
tree | 38514b15bbda9ec783487f571ea4b46f5bd2c140 /tests | |
parent | cc57280803853436a82ae4c925d22efe5223d6cd (diff) | |
download | pygtk-de8384cdd547ffa3d5467501da00e2eb01b5aabd.tar.gz |
Check that argument is a subclass of gtk.MenuItem or gtk.ToolItem
2008-06-22 Paul Pogonyshev <pogonyshev@gmx.net>
* gtk/gtk.override (_wrap_gtk_action_set_menu_item_type)
(_wrap_gtk_action_set_tool_item_type): Check that argument is a
subclass of gtk.MenuItem or gtk.ToolItem correspondingly (bug
#533644).
* tests/test_actiongroup.py (ActionTest.testSetItemClasses): New
test for the added type check.
svn path=/trunk/; revision=2997
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_actiongroup.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_actiongroup.py b/tests/test_actiongroup.py index f19de1b4..28228912 100644 --- a/tests/test_actiongroup.py +++ b/tests/test_actiongroup.py @@ -145,6 +145,28 @@ class ActionTest(unittest.TestCase): myaction = MyAction() myaction.activate() self.assertEqual(myaction._activated, True) + + def testSetItemClasses(self): + + class MyAction(gtk.Action): + def __init__(self): + gtk.Action.__init__(self, 'name', 'label', None, None) + + def set_menu_item_type(type): + MyAction.set_menu_item_type(type) + + def set_tool_item_type(type): + MyAction.set_tool_item_type(type) + + self.assertRaises(TypeError, lambda: set_menu_item_type(None)) + self.assertRaises(TypeError, lambda: set_menu_item_type(gtk.Button)) + set_menu_item_type(gtk.ImageMenuItem) + self.assert_(isinstance(MyAction().create_menu_item(), gtk.ImageMenuItem)) + + self.assertRaises(TypeError, lambda: set_tool_item_type(None)) + self.assertRaises(TypeError, lambda: set_tool_item_type(gtk.Button)) + set_tool_item_type(gtk.SeparatorToolItem) + self.assert_(isinstance(MyAction().create_tool_item(), gtk.SeparatorToolItem)) if __name__ == '__main__': |