]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/backend/gtk/gtk-tests.factor
921f70fb2a13db4aadb318b4bb34cf340f9fb7aa
[factor.git] / basis / ui / backend / gtk / gtk-tests.factor
1 USING: alien.syntax classes.struct gdk.ffi kernel sequences system
2 tools.test 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 : gdk-windows-key-release-event ( -- event )
51     S{ GdkEventKey
52        { type 9 }
53        { window ALIEN: 1a71d80 }
54        { send_event 0 }
55        { time 47998769 }
56        { state 67108928 }
57        { keyval 119 }
58        { length 1 }
59        { string ALIEN: 2017640 }
60        { hardware_keycode 25 }
61        { group 0 }
62        { is_modifier 0 }
63     } ;
64
65
66 ! The Mac build servers doesn't have the gtk libs
67 os linux? [
68     ! key-event>gesture
69     {
70         T{ key-down f f "F2" }
71         T{ key-up f f "H" }
72         T{ key-down f f " " }
73         T{ key-up { mods { M+ } } { sym "w" } }
74     } [
75         gdk-key-press-event key-event>gesture
76         gdk-key-release-event key-event>gesture
77         gdk-space-key-press-event key-event>gesture
78         gdk-windows-key-release-event key-event>gesture
79     ] unit-test
80
81     ! key-sym
82     { "F2" t } [
83         GDK_KEY_F2 key-sym
84     ] unit-test
85 ] when
86
87 { 9854 } [
88     "gpu.demos.bunny" vocab-icon-data length
89 ] unit-test