[autotests/libinput] Extend the Device test
Added tests for new functionality: * scroll enabled by default properties * scroll supported properties * scroll on button down
This commit is contained in:
parent
f1d17c1a56
commit
fb4b0c40ef
1 changed files with 278 additions and 0 deletions
|
@ -45,6 +45,16 @@ private Q_SLOTS:
|
||||||
void testSize();
|
void testSize();
|
||||||
void testTapEnabledByDefault_data();
|
void testTapEnabledByDefault_data();
|
||||||
void testTapEnabledByDefault();
|
void testTapEnabledByDefault();
|
||||||
|
void testMiddleEmulationEnabledByDefault_data();
|
||||||
|
void testMiddleEmulationEnabledByDefault();
|
||||||
|
void testNaturalScrollEnabledByDefault_data();
|
||||||
|
void testNaturalScrollEnabledByDefault();
|
||||||
|
void testScrollTwoFingerEnabledByDefault_data();
|
||||||
|
void testScrollTwoFingerEnabledByDefault();
|
||||||
|
void testScrollEdgeEnabledByDefault_data();
|
||||||
|
void testScrollEdgeEnabledByDefault();
|
||||||
|
void testScrollOnButtonDownEnabledByDefault_data();
|
||||||
|
void testScrollOnButtonDownEnabledByDefault();
|
||||||
void testSupportsDisableWhileTyping_data();
|
void testSupportsDisableWhileTyping_data();
|
||||||
void testSupportsDisableWhileTyping();
|
void testSupportsDisableWhileTyping();
|
||||||
void testSupportsPointerAcceleration_data();
|
void testSupportsPointerAcceleration_data();
|
||||||
|
@ -57,6 +67,18 @@ private Q_SLOTS:
|
||||||
void testSupportsDisableEvents();
|
void testSupportsDisableEvents();
|
||||||
void testSupportsDisableEventsOnExternalMouse_data();
|
void testSupportsDisableEventsOnExternalMouse_data();
|
||||||
void testSupportsDisableEventsOnExternalMouse();
|
void testSupportsDisableEventsOnExternalMouse();
|
||||||
|
void testSupportsMiddleEmulation_data();
|
||||||
|
void testSupportsMiddleEmulation();
|
||||||
|
void testSupportsNaturalScroll_data();
|
||||||
|
void testSupportsNaturalScroll();
|
||||||
|
void testSupportsScrollTwoFinger_data();
|
||||||
|
void testSupportsScrollTwoFinger();
|
||||||
|
void testSupportsScrollEdge_data();
|
||||||
|
void testSupportsScrollEdge();
|
||||||
|
void testSupportsScrollOnButtonDown_data();
|
||||||
|
void testSupportsScrollOnButtonDown();
|
||||||
|
void testDefaultScrollButton_data();
|
||||||
|
void testDefaultScrollButton();
|
||||||
void testPointerAcceleration_data();
|
void testPointerAcceleration_data();
|
||||||
void testPointerAcceleration();
|
void testPointerAcceleration();
|
||||||
void testLeftHanded_data();
|
void testLeftHanded_data();
|
||||||
|
@ -87,6 +109,8 @@ private Q_SLOTS:
|
||||||
void testScrollEdge();
|
void testScrollEdge();
|
||||||
void testScrollButtonDown_data();
|
void testScrollButtonDown_data();
|
||||||
void testScrollButtonDown();
|
void testScrollButtonDown();
|
||||||
|
void testScrollButton_data();
|
||||||
|
void testScrollButton();
|
||||||
};
|
};
|
||||||
|
|
||||||
void TestLibinputDevice::testStaticGetter()
|
void TestLibinputDevice::testStaticGetter()
|
||||||
|
@ -300,6 +324,127 @@ void TestLibinputDevice::testTapEnabledByDefault()
|
||||||
QCOMPARE(d.property("tapToClickEnabledByDefault").toBool(), enabled);
|
QCOMPARE(d.property("tapToClickEnabledByDefault").toBool(), enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testMiddleEmulationEnabledByDefault_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testMiddleEmulationEnabledByDefault()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.middleEmulationEnabledByDefault = enabled;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.middleEmulationEnabledByDefault(), enabled);
|
||||||
|
QCOMPARE(d.property("middleEmulationEnabledByDefault").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testNaturalScrollEnabledByDefault_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testNaturalScrollEnabledByDefault()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.naturalScrollEnabledByDefault = enabled;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.naturalScrollEnabledByDefault(), enabled);
|
||||||
|
QCOMPARE(d.property("naturalScrollEnabledByDefault").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollTwoFingerEnabledByDefault_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollTwoFingerEnabledByDefault()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.defaultScrollMethod = enabled ? LIBINPUT_CONFIG_SCROLL_2FG : LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.scrollTwoFingerEnabledByDefault(), enabled);
|
||||||
|
QCOMPARE(d.property("scrollTwoFingerEnabledByDefault").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollEdgeEnabledByDefault_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollEdgeEnabledByDefault()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.defaultScrollMethod = enabled ? LIBINPUT_CONFIG_SCROLL_EDGE : LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.scrollEdgeEnabledByDefault(), enabled);
|
||||||
|
QCOMPARE(d.property("scrollEdgeEnabledByDefault").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollOnButtonDownEnabledByDefault_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollOnButtonDownEnabledByDefault()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.defaultScrollMethod = enabled ? LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN : LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.scrollOnButtonDownEnabledByDefault(), enabled);
|
||||||
|
QCOMPARE(d.property("scrollOnButtonDownEnabledByDefault").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testDefaultScrollButton_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<quint32>("button");
|
||||||
|
|
||||||
|
QTest::newRow("0") << 0u;
|
||||||
|
QTest::newRow("BTN_LEFT") << quint32(BTN_LEFT);
|
||||||
|
QTest::newRow("BTN_RIGHT") << quint32(BTN_RIGHT);
|
||||||
|
QTest::newRow("BTN_MIDDLE") << quint32(BTN_MIDDLE);
|
||||||
|
QTest::newRow("BTN_SIDE") << quint32(BTN_SIDE);
|
||||||
|
QTest::newRow("BTN_EXTRA") << quint32(BTN_EXTRA);
|
||||||
|
QTest::newRow("BTN_FORWARD") << quint32(BTN_FORWARD);
|
||||||
|
QTest::newRow("BTN_BACK") << quint32(BTN_BACK);
|
||||||
|
QTest::newRow("BTN_TASK") << quint32(BTN_TASK);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testDefaultScrollButton()
|
||||||
|
{
|
||||||
|
libinput_device device;
|
||||||
|
QFETCH(quint32, button);
|
||||||
|
device.defaultScrollButton = button;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.defaultScrollButton(), button);
|
||||||
|
QCOMPARE(d.property("defaultScrollButton").value<quint32>(), button);
|
||||||
|
}
|
||||||
|
|
||||||
void TestLibinputDevice::testSupportsDisableWhileTyping_data()
|
void TestLibinputDevice::testSupportsDisableWhileTyping_data()
|
||||||
{
|
{
|
||||||
QTest::addColumn<bool>("enabled");
|
QTest::addColumn<bool>("enabled");
|
||||||
|
@ -414,6 +559,101 @@ void TestLibinputDevice::testSupportsDisableEventsOnExternalMouse()
|
||||||
QCOMPARE(d.property("supportsDisableEventsOnExternalMouse").toBool(), enabled);
|
QCOMPARE(d.property("supportsDisableEventsOnExternalMouse").toBool(), enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsMiddleEmulation_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsMiddleEmulation()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.supportsMiddleEmulation = enabled;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.supportsMiddleEmulation(), enabled);
|
||||||
|
QCOMPARE(d.property("supportsMiddleEmulation").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsNaturalScroll_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsNaturalScroll()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.supportsNaturalScroll = enabled;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.supportsNaturalScroll(), enabled);
|
||||||
|
QCOMPARE(d.property("supportsNaturalScroll").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsScrollTwoFinger_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsScrollTwoFinger()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.supportedScrollMethods = enabled ? LIBINPUT_CONFIG_SCROLL_2FG : LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.supportsScrollTwoFinger(), enabled);
|
||||||
|
QCOMPARE(d.property("supportsScrollTwoFinger").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsScrollEdge_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsScrollEdge()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.supportedScrollMethods = enabled ? LIBINPUT_CONFIG_SCROLL_EDGE : LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.supportsScrollEdge(), enabled);
|
||||||
|
QCOMPARE(d.property("supportsScrollEdge").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsScrollOnButtonDown_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<bool>("enabled");
|
||||||
|
|
||||||
|
QTest::newRow("enabled") << true;
|
||||||
|
QTest::newRow("disabled") << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testSupportsScrollOnButtonDown()
|
||||||
|
{
|
||||||
|
QFETCH(bool, enabled);
|
||||||
|
libinput_device device;
|
||||||
|
device.supportedScrollMethods = enabled ? LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN : LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.supportsScrollOnButtonDown(), enabled);
|
||||||
|
QCOMPARE(d.property("supportsScrollOnButtonDown").toBool(), enabled);
|
||||||
|
}
|
||||||
|
|
||||||
void TestLibinputDevice::testPointerAcceleration_data()
|
void TestLibinputDevice::testPointerAcceleration_data()
|
||||||
{
|
{
|
||||||
QTest::addColumn<bool>("supported");
|
QTest::addColumn<bool>("supported");
|
||||||
|
@ -979,5 +1219,43 @@ void TestLibinputDevice::testScrollButtonDown()
|
||||||
QCOMPARE(scrollMethodChangedSpy.isEmpty(), initValue == expectedValue);
|
QCOMPARE(scrollMethodChangedSpy.isEmpty(), initValue == expectedValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollButton_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<quint32>("initValue");
|
||||||
|
QTest::addColumn<quint32>("setValue");
|
||||||
|
QTest::addColumn<quint32>("expectedValue");
|
||||||
|
QTest::addColumn<bool>("setShouldFail");
|
||||||
|
QTest::addColumn<bool>("scrollOnButton");
|
||||||
|
|
||||||
|
QTest::newRow("BTN_LEFT -> BTN_RIGHT") << quint32(BTN_LEFT) << quint32(BTN_RIGHT) << quint32(BTN_RIGHT) << false << true;
|
||||||
|
QTest::newRow("BTN_LEFT -> BTN_LEFT") << quint32(BTN_LEFT) << quint32(BTN_LEFT) << quint32(BTN_LEFT) << false << true;
|
||||||
|
QTest::newRow("set should fail") << quint32(BTN_LEFT) << quint32(BTN_RIGHT) << quint32(BTN_LEFT) << true << true;
|
||||||
|
QTest::newRow("not scroll on button") << quint32(BTN_LEFT) << quint32(BTN_RIGHT) << quint32(BTN_LEFT) << false << false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestLibinputDevice::testScrollButton()
|
||||||
|
{
|
||||||
|
libinput_device device;
|
||||||
|
QFETCH(quint32, initValue);
|
||||||
|
QFETCH(bool, setShouldFail);
|
||||||
|
QFETCH(bool, scrollOnButton);
|
||||||
|
device.scrollButton = initValue;
|
||||||
|
device.supportedScrollMethods = scrollOnButton ? LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN : LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
|
||||||
|
device.setScrollButtonReturnValue = setShouldFail;
|
||||||
|
|
||||||
|
Device d(&device);
|
||||||
|
QCOMPARE(d.scrollButton(), initValue);
|
||||||
|
QCOMPARE(d.property("scrollButton").value<quint32>(), initValue);
|
||||||
|
|
||||||
|
QSignalSpy scrollButtonChangedSpy(&d, &Device::scrollButtonChanged);
|
||||||
|
QVERIFY(scrollButtonChangedSpy.isValid());
|
||||||
|
QFETCH(quint32, setValue);
|
||||||
|
d.setScrollButton(setValue);
|
||||||
|
QFETCH(quint32, expectedValue);
|
||||||
|
QCOMPARE(d.scrollButton(), expectedValue);
|
||||||
|
QCOMPARE(d.property("scrollButton").value<quint32>(), expectedValue);
|
||||||
|
QCOMPARE(scrollButtonChangedSpy.isEmpty(), initValue == expectedValue);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_GUILESS_MAIN(TestLibinputDevice)
|
QTEST_GUILESS_MAIN(TestLibinputDevice)
|
||||||
#include "device_test.moc"
|
#include "device_test.moc"
|
||||||
|
|
Loading…
Reference in a new issue