16#include <linux/input.h>
30 void testEvent_data();
35 Device *m_device =
nullptr;
38void TestLibinputKeyEvent::init()
42 m_device =
new Device(m_nativeDevice);
45void TestLibinputKeyEvent::cleanup()
50 delete m_nativeDevice;
51 m_nativeDevice =
nullptr;
54void TestLibinputKeyEvent::testCreate()
58 keyEvent->
device = m_nativeDevice;
62 QCOMPARE(event->type(), LIBINPUT_EVENT_KEYBOARD_KEY);
63 QCOMPARE(event->device(), m_device);
64 QCOMPARE(event->nativeDevice(), m_nativeDevice);
67 QVERIFY(
dynamic_cast<KeyEvent *
>(event.get()));
74void TestLibinputKeyEvent::testEvent_data()
76 QTest::addColumn<libinput_key_state>(
"keyState");
77 QTest::addColumn<KWin::InputRedirection::KeyboardKeyState>(
"expectedKeyState");
78 QTest::addColumn<quint32>(
"key");
79 QTest::addColumn<quint32>(
"time");
85void TestLibinputKeyEvent::testEvent()
89 keyEvent->
device = m_nativeDevice;
90 QFETCH(libinput_key_state, keyState);
91 keyEvent->
state = keyState;
94 QFETCH(quint32, time);
95 keyEvent->
time = std::chrono::milliseconds(time);
98 auto ke =
dynamic_cast<KeyEvent *
>(
event.get());
100 QTEST(ke->state(),
"expectedKeyState");
101 QCOMPARE(ke->key(), key);
102 QCOMPARE(ke->time(), keyEvent->
time);
106#include "key_event_test.moc"