Initial import to Tizen
[profile/ivi/python-twisted.git] / twisted / manhole / ui / test / test_gtk2manhole.py
1 # Copyright (c) 2009 Twisted Matrix Laboratories.
2 """
3 Tests for GTK2 GUI manhole.
4 """
5
6 skip = False
7
8 try:
9     import pygtk
10     pygtk.require("2.0")
11 except:
12     skip = "GTK 2.0 not available"
13 else:
14     try:
15         import gtk
16     except ImportError:
17         skip = "GTK 2.0 not available"
18     except RuntimeError:
19         skip = "Old version of GTK 2.0 requires DISPLAY, and we don't have one."
20     else:
21         if gtk.gtk_version[0] == 1:
22             skip = "Requested GTK 2.0, but 1.0 was already imported."
23         else:
24             from twisted.manhole.ui.gtk2manhole import ConsoleInput
25
26 from twisted.trial.unittest import TestCase
27
28 from twisted.python.reflect import prefixedMethodNames
29
30 class ConsoleInputTests(TestCase):
31     """
32     Tests for L{ConsoleInput}.
33     """
34
35     def test_reverseKeymap(self):
36         """
37         Verify that a L{ConsoleInput} has a reverse mapping of the keysym names
38         it needs for event handling to their corresponding keysym.
39         """
40         ci = ConsoleInput(None)
41         for eventName in prefixedMethodNames(ConsoleInput, 'key_'):
42             keysymName = eventName.split("_")[-1]
43             keysymValue = getattr(gtk.keysyms, keysymName)
44             self.assertEqual(ci.rkeymap[keysymValue], keysymName)
45
46
47     skip = skip
48