summaryrefslogtreecommitdiffstats
path: root/tests/auto/input
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2016-10-06 20:49:10 +0200
committerSean Harmer <sean.harmer@kdab.com>2016-10-29 11:31:39 +0000
commit5d5e5d3d32b00ca0f6762d705f7002d828f0862c (patch)
treee869677a53f5731fbdff16c53a2bc138d433989d /tests/auto/input
parentde3c46a1b494f881626be2d7d48239dcb9f5fd7a (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.cpp42
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)