File: events_test.py

package info (click to toggle)
pysdl2 0.9.9%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,276 kB
  • sloc: python: 18,592; makefile: 148; sh: 40
file content (236 lines) | stat: -rw-r--r-- 7,649 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
import sys
import pytest
from ctypes import c_char_p, c_void_p, cast
import sdl2
from sdl2 import SDL_Init, SDL_Quit, SDL_QuitSubSystem, SDL_INIT_EVERYTHING
from sdl2 import events


class TestSDLEvents(object):
    __tags__ = ["sdl"]

    @classmethod
    def setup_class(cls):
        SDL_Init(SDL_INIT_EVERYTHING)

    @classmethod
    def teardown_class(cls):
        SDL_QuitSubSystem(SDL_INIT_EVERYTHING)
        SDL_Quit()

    def test_SDL_AudioDeviceEvent(self):
        event = events.SDL_AudioDeviceEvent()
        assert isinstance(event, events.SDL_AudioDeviceEvent)

    def test_SDL_DisplayEvent(self):
        event = events.SDL_DisplayEvent()
        assert isinstance(event, events.SDL_DisplayEvent)

    def test_SDL_WindowEvent(self):
        event = events.SDL_WindowEvent()
        assert isinstance(event, events.SDL_WindowEvent)

    def test_SDL_KeyboardEvent(self):
        event = events.SDL_KeyboardEvent()
        assert isinstance(event, events.SDL_KeyboardEvent)

    def test_SDL_TextEditingEvent(self):
        event = events.SDL_TextEditingEvent()
        assert isinstance(event, events.SDL_TextEditingEvent)

    def test_SDL_TextInputEvent(self):
        event = events.SDL_TextInputEvent()
        assert isinstance(event, events.SDL_TextInputEvent)

    def test_SDL_MouseMotionEvent(self):
        event = events.SDL_MouseMotionEvent()
        assert isinstance(event, events.SDL_MouseMotionEvent)

    def test_SDL_MouseButtonEvent(self):
        event = events.SDL_MouseButtonEvent()
        assert isinstance(event, events.SDL_MouseButtonEvent)

    def test_SDL_MouseWheelEvent(self):
        event = events.SDL_MouseWheelEvent()
        assert isinstance(event, events.SDL_MouseWheelEvent)

    def test_SDL_JoyAxisEvent(self):
        event = events.SDL_JoyAxisEvent()
        assert isinstance(event, events.SDL_JoyAxisEvent)

    def test_SDL_JoyBallEvent(self):
        event = events.SDL_JoyBallEvent()
        assert isinstance(event, events.SDL_JoyBallEvent)

    def test_SDL_JoyHatEvent(self):
        event = events.SDL_JoyHatEvent()
        assert isinstance(event, events.SDL_JoyHatEvent)

    def test_SDL_JoyButtonEvent(self):
        event = events.SDL_JoyButtonEvent()
        assert isinstance(event, events.SDL_JoyButtonEvent)

    def test_SDL_JoyDeviceEvent(self):
        event = events.SDL_JoyDeviceEvent()
        assert isinstance(event, events.SDL_JoyDeviceEvent)

    def test_SDL_ControllerAxisEvent(self):
        event = events.SDL_ControllerAxisEvent()
        assert isinstance(event, events.SDL_ControllerAxisEvent)

    def test_SDL_ControllerButtonEvent(self):
        event = events.SDL_ControllerButtonEvent()
        assert isinstance(event, events.SDL_ControllerButtonEvent)

    def test_SDL_ControllerDeviceEvent(self):
        event = events.SDL_ControllerDeviceEvent()
        assert isinstance(event, events.SDL_ControllerDeviceEvent)

    def test_SDL_ControllerTouchpadEvent(self):
        event = events.SDL_ControllerTouchpadEvent()
        assert isinstance(event, events.SDL_ControllerTouchpadEvent)

    def test_SDL_ControllerSensorEvent(self):
        event = events.SDL_ControllerSensorEvent()
        assert isinstance(event, events.SDL_ControllerSensorEvent)

    def test_SDL_TouchFingerEvent(self):
        event = events.SDL_TouchFingerEvent()
        assert isinstance(event, events.SDL_TouchFingerEvent)

    def test_SDL_MultiGestureEvent(self):
        event = events.SDL_MultiGestureEvent()
        assert isinstance(event, events.SDL_MultiGestureEvent)

    def test_SDL_DollarGestureEvent(self):
        event = events.SDL_DollarGestureEvent()
        assert isinstance(event, events.SDL_DollarGestureEvent)

    def test_SDL_DropEvent(self):
        event = events.SDL_DropEvent()
        assert isinstance(event, events.SDL_DropEvent)

    def test_SDL_SensorEvent(self):
        event = events.SDL_SensorEvent()
        assert isinstance(event, events.SDL_SensorEvent)

    def test_SDL_QuitEvent(self):
        event = events.SDL_QuitEvent()
        assert isinstance(event, events.SDL_QuitEvent)

    def test_SDL_UserEvent(self):
        event = events.SDL_UserEvent()
        assert isinstance(event, events.SDL_UserEvent)

    def test_SDL_SysWMEvent(self):
        event = events.SDL_SysWMEvent()
        assert isinstance(event, events.SDL_SysWMEvent)

    def test_SDL_Event(self):
        event = events.SDL_Event()
        assert isinstance(event, events.SDL_Event)

    def test_SDL_AddDelEventWatch(self):
        eventwatch = []

        def watch(data, event):
            eventwatch.append((event.contents, data,))
            return 0
        efilter = events.SDL_EventFilter(watch)
        udata = c_char_p(b"Something random")
        events.SDL_AddEventWatch(efilter, cast(udata, c_void_p))
        ev = events.SDL_Event()
        ev.type = events.SDL_USEREVENT
        ev.user = events.SDL_UserEvent()
        events.SDL_PushEvent(ev)
        assert len(eventwatch) == 1
        # TODO: x
        # self.assertEqual(eventwatch[0][1], udata)

        events.SDL_DelEventWatch(efilter, udata)
        ev = events.SDL_Event()
        events.SDL_PushEvent(ev)
        assert len(eventwatch) == 1
        # TODO: x
        # self.assertEqual(eventwatch[0][1], udata)

    @pytest.mark.skip("not implemented")
    def test_SDL_EventState(self):
        pass
        # state = events.SDL_EventState(events.SDL_USEREVENT, events.SDL_QUERY)
        # self.assertEqual(state, events.SDL_ENABLE)
        # state = events.SDL_EventState(events.SDL_USEREVENT,events.SDL_IGNORE)
        # self.assertEqual(state, events.SDL_ENABLE)
        # state = events.SDL_EventState(events.SDL_USEREVENT, events.SDL_QUERY)
        # self.assertEqual(state, events.SDL_IGNORE)
        # state = events.SDL_EventState(events.SDL_USEREVENT,events.SDL_ENABLE)
        # self.assertEqual(state, events.SDL_IGNORE)
        # state = events.SDL_EventState(events.SDL_USEREVENT, events.SDL_QUERY)
        # self.assertEqual(state, events.SDL_ENABLE)

        # self.assertRaises(TypeError, events.SDL_EventState, None, None)

        # ev = events.SDL_Event()
        # ev.type = events.SDL_USEREVENT
        # ev.user = events.SDL_UserEvent()
        # events.SDL_PushEvent(ev)

    @pytest.mark.skip("not implemented")
    def test_SDL_GetEventState(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_FilterEvents(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_FlushEvent(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_FlushEvents(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_GetSetEventFilter(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_HasEvent(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_HasEvents(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_PeepEvents(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_PollEvent(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_PumpEvents(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_PushEvent(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_RegisterEvents(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_WaitEvent(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_WaitEventTimeout(self):
        pass

    @pytest.mark.skip("not implemented")
    def test_SDL_QuitRequested(self):
        pass