16#include <QDBusConnection>
17#include <QDBusMessage>
18#include <QDBusPendingReply>
22#include <virtualkeyboardinterface.h>
28static const QString s_socketName = QStringLiteral(
"wayland_test_kwin_virtualkeyboarddbus-0");
36 void testRequestEnabled_data();
37 void testRequestEnabled();
42void VirtualKeyboardDBusTest::initTestCase()
44 QDBusConnection::sessionBus().registerService(QStringLiteral(
"org.kde.kwin.testvirtualkeyboard"));
48 QRect(0, 0, 1280, 1024),
49 QRect(1280, 0, 1280, 1024),
54 QVERIFY(applicationStartedSpy.wait());
56 QVERIFY(
setupWaylandConnection(AdditionalWaylandInterface::Seat | AdditionalWaylandInterface::InputMethodV1 | AdditionalWaylandInterface::TextInputManagerV2 | AdditionalWaylandInterface::TextInputManagerV3));
59void VirtualKeyboardDBusTest::init()
61 kwinApp()->inputMethod()->setEnabled(
false);
64void VirtualKeyboardDBusTest::cleanup()
69void VirtualKeyboardDBusTest::testEnabled()
72 OrgKdeKwinVirtualKeyboardInterface iface(QStringLiteral(
"org.kde.kwin.testvirtualkeyboard"), QStringLiteral(
"/VirtualKeyboard"), QDBusConnection::sessionBus());
73 QSignalSpy helperChangedSpy(&iface, &OrgKdeKwinVirtualKeyboardInterface::enabledChanged);
75 QCOMPARE(dbus.isEnabled(),
false);
76 QCOMPARE(dbus.property(
"enabled").toBool(),
false);
79 QVERIFY(iface.isValid());
80 QCOMPARE(iface.enabled(),
false);
82 dbus.setEnabled(
true);
83 QCOMPARE(enabledChangedSpy.count(), 1);
84 QVERIFY(helperChangedSpy.wait());
85 QCOMPARE(helperChangedSpy.count(), 1);
86 QCOMPARE(dbus.isEnabled(),
true);
87 QCOMPARE(dbus.property(
"enabled").toBool(),
true);
88 QCOMPARE(iface.enabled(),
true);
91 dbus.setEnabled(
true);
92 QCOMPARE(enabledChangedSpy.count(), 1);
95 dbus.setEnabled(
false);
96 QCOMPARE(enabledChangedSpy.count(), 2);
97 QVERIFY(helperChangedSpy.wait());
98 QCOMPARE(helperChangedSpy.count(), 2);
99 QCOMPARE(dbus.isEnabled(),
false);
100 QCOMPARE(dbus.property(
"enabled").toBool(),
false);
101 QCOMPARE(iface.enabled(),
false);
104void VirtualKeyboardDBusTest::testRequestEnabled_data()
106 QTest::addColumn<QString>(
"method");
107 QTest::addColumn<bool>(
"expectedResult");
109 QTest::newRow(
"enable") << QStringLiteral(
"setEnabled") <<
true;
110 QTest::newRow(
"disable") << QStringLiteral(
"setEnabled") <<
false;
113void VirtualKeyboardDBusTest::testRequestEnabled()
115 QFETCH(QString, method);
116 QFETCH(
bool, expectedResult);
119 OrgKdeKwinVirtualKeyboardInterface iface(QStringLiteral(
"org.kde.kwin.testvirtualkeyboard"), QStringLiteral(
"/VirtualKeyboard"), QDBusConnection::sessionBus());
121 iface.setEnabled(expectedResult);
122 QTRY_COMPARE(iface.enabled(), expectedResult);
126#include "test_virtualkeyboard_dbus.moc"
Q_SCRIPTABLE void enabledChanged()
#define WAYLANDTEST_MAIN(TestObject)
void destroyWaylandConnection()
void setOutputConfig(const QList< QRect > &geometries)
bool setupWaylandConnection(AdditionalWaylandInterfaces flags=AdditionalWaylandInterfaces())
MockInputMethod * inputMethod()
WaylandServer * waylandServer()