4 from gi.repository import Atk, Gdk, Gtk
10 @unittest.skipUnless(Gdk, 'Gdk not available')
11 class TestGdkAtom(unittest.TestCase):
12 def test_create(self):
13 atom = Gdk.Atom.intern('my_string', False)
14 self.assertEqual(atom.name(), 'my_string')
17 atom = Gdk.Atom.intern('my_string', False)
18 self.assertEqual(str(atom), 'my_string')
20 self.assertEqual(str(Gdk.SELECTION_CLIPBOARD), 'CLIPBOARD')
23 atom = Gdk.Atom.intern('my_string', False)
24 self.assertEqual(repr(atom), 'Gdk.Atom<my_string>')
26 self.assertEqual(repr(Gdk.SELECTION_CLIPBOARD), 'Gdk.Atom<CLIPBOARD>')
28 def test_in_single(self):
29 a_selection = Gdk.Atom.intern('test_clipboard', False)
30 clipboard = Gtk.Clipboard.get(a_selection)
31 clipboard.set_text('hello', 5)
33 # needs a Gdk.Atom, not a string
34 self.assertRaises(TypeError, Gtk.Clipboard.get, 'CLIPBOARD')
36 def test_in_array(self):
37 a_plain = Gdk.Atom.intern('text/plain', False)
38 a_html = Gdk.Atom.intern('text/html', False)
39 a_jpeg = Gdk.Atom.intern('image/jpeg', False)
41 self.assertFalse(Gtk.targets_include_text([]))
42 self.assertTrue(Gtk.targets_include_text([a_plain, a_html]))
43 self.assertFalse(Gtk.targets_include_text([a_jpeg]))
44 self.assertTrue(Gtk.targets_include_text([a_jpeg, a_plain]))
46 self.assertFalse(Gtk.targets_include_image([], False))
47 self.assertFalse(Gtk.targets_include_image([a_plain, a_html], False))
48 self.assertTrue(Gtk.targets_include_image([a_jpeg], False))
49 self.assertTrue(Gtk.targets_include_image([a_jpeg, a_plain], False))
51 def test_out_array(self):
52 a_selection = Gdk.Atom.intern('my_clipboard', False)
53 clipboard = Gtk.Clipboard.get(a_selection)
56 (res, targets) = clipboard.wait_for_targets()
57 self.assertEqual(res, False)
58 self.assertEqual(targets, [])
61 clipboard.set_text('hello', 5)
62 (res, targets) = clipboard.wait_for_targets()
63 self.assertEqual(res, True)
64 self.assertNotEqual(targets, [])
65 self.assertEqual(type(targets[0]), Gdk.Atom)
66 names = [t.name() for t in targets]
67 self.assertFalse(None in names, names)
68 self.assertTrue('TEXT' in names, names)
70 def test_out_glist(self):
71 display = Gdk.Display.get_default()
72 dm = display.get_device_manager()
73 device = dm.get_client_pointer()
74 axes = device.list_axes()
75 axes_names = [atom.name() for atom in axes]
76 self.assertNotEqual(axes_names, [])
77 self.assertTrue('Rel X' in axes_names)