diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2016-10-06 20:49:10 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-10-29 11:31:39 +0000 |
commit | 5d5e5d3d32b00ca0f6762d705f7002d828f0862c (patch) | |
tree | e869677a53f5731fbdff16c53a2bc138d433989d /tests/auto/input | |
parent | de3c46a1b494f881626be2d7d48239dcb9f5fd7a (diff) |
ButtonAxisInput shouldn't process when disabled
Change-Id: Ied847a448993507d2ad7c08c1ddf6ab85459b8d3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests/auto/input')
-rw-r--r-- | tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp b/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp index 48416641c..90867a747 100644 --- a/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp +++ b/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp @@ -204,6 +204,7 @@ private Q_SLOTS: Qt3DInput::Input::ButtonAxisInput backendAxisInput; Qt3DInput::QButtonAxisInput axisInput; + axisInput.setEnabled(true); axisInput.setButtons(QVector<int>() << Qt::Key_Space); axisInput.setScale(-1.0f); axisInput.setAcceleration(0.15f); @@ -290,6 +291,47 @@ private Q_SLOTS: QCOMPARE(backendAxisInput.speedRatio(), 0.0f); QCOMPARE(backendAxisInput.lastUpdateTime(), 0); } + + void shouldNotProcessWhenDisabled() + { + const qint64 s = 1000000000; + + // GIVEN + TestDeviceIntegration deviceIntegration; + TestDevice *device = deviceIntegration.createPhysicalDevice("keyboard"); + TestDeviceBackendNode *deviceBackend = deviceIntegration.physicalDevice(device->id()); + Qt3DInput::Input::InputHandler handler; + handler.addInputDeviceIntegration(&deviceIntegration); + + Qt3DInput::Input::ButtonAxisInput backendAxisInput; + Qt3DInput::QButtonAxisInput axisInput; + axisInput.setEnabled(false); + axisInput.setButtons(QVector<int>() << Qt::Key_Space); + axisInput.setScale(-1.0f); + axisInput.setAcceleration(0.15f); + axisInput.setDeceleration(0.3f); + axisInput.setSourceDevice(device); + simulateInitialization(&axisInput, &backendAxisInput); + QCOMPARE(backendAxisInput.speedRatio(), 0.0f); + QCOMPARE(backendAxisInput.lastUpdateTime(), 0); + + // WHEN (accelerate) + deviceBackend->setButtonPressed(Qt::Key_Space, true); + + // WHEN + QCOMPARE(backendAxisInput.process(&handler, 30 * s), 0.0f); + + // THEN + QCOMPARE(backendAxisInput.speedRatio(), 0.0f); + QCOMPARE(backendAxisInput.lastUpdateTime(), 0); + + // WHEN + QCOMPARE(backendAxisInput.process(&handler, 31 * s), 0.0f); + + // THEN + QCOMPARE(backendAxisInput.speedRatio(), 0.0f); + QCOMPARE(backendAxisInput.lastUpdateTime(), 0); + } }; QTEST_APPLESS_MAIN(tst_ButtonAxisInput) |