]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/backend/gtk/gtk-tests.factor
69ea1806daf1524cc52d703ca9890cabca3692d9
[factor.git] / basis / ui / backend / gtk / gtk-tests.factor
1 USING: alien.syntax classes.struct gdk.ffi kernel system tools.test
2 ui.backend.gtk ui.gestures ;
3 IN: ui.backend.gtk.tests
4
5 : gdk-key-release-event ( -- event )
6     S{ GdkEventKey
7        { type 9 }
8        { window ALIEN: 1672900 }
9        { send_event 0 }
10        { time 1332590199 }
11        { state 17 }
12        { keyval 72 }
13        { length 1 }
14        { string ALIEN: 1b25c80 }
15        { hardware_keycode 43 }
16        { group 0 }
17        { is_modifier 0 }
18     } ;
19
20 : gdk-key-press-event ( -- event )
21     S{ GdkEventKey
22        { type 8 }
23        { window ALIEN: 16727e0 }
24        { send_event 0 }
25        { time 1332864912 }
26        { state 16 }
27        { keyval 65471 }
28        { length 0 }
29        { string ALIEN: 19c9700 }
30        { hardware_keycode 68 }
31        { group 0 }
32        { is_modifier 0 }
33     } ;
34
35 : gdk-space-key-press-event ( -- event )
36     S{ GdkEventKey
37        { type 8 }
38        { window ALIEN: 1b66360 }
39        { send_event 0 }
40        { time 28246628 }
41        { state 0 }
42        { keyval 32 }
43        { length 0 }
44        { string ALIEN: 20233b0 }
45        { hardware_keycode 64 }
46        { group 0 }
47        { is_modifier 1 }
48     } ;
49
50 ! The Mac build servers doesn't have the gtk libs
51 os linux? [
52     {
53         T{ key-down f f "F2" }
54         T{ key-up f f "H" }
55         T{ key-down f f " " }
56     } [
57         gdk-key-press-event key-event>gesture
58         gdk-key-release-event key-event>gesture
59         gdk-space-key-press-event key-event>gesture
60     ] unit-test
61 ] when