summaryrefslogtreecommitdiffstats
path: root/tests/auto/input
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2016-10-06 20:48:01 +0200
committerSean Harmer <sean.harmer@kdab.com>2016-10-29 11:31:37 +0000
commitde3c46a1b494f881626be2d7d48239dcb9f5fd7a (patch)
treea5f63a3333101eda638696167c7009cb95da506a /tests/auto/input
parent94f09de4c17630be14ad27dd3c9d96fc40b86206 (diff)
AnalogAxisInput shouldn't process when disabled
Change-Id: I1ad3e0f77b27b9309e879e7171512845e7a3eac9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests/auto/input')
-rw-r--r--tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp b/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp
index 374cf2dd5..faa7385bc 100644
--- a/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp
+++ b/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp
@@ -139,6 +139,7 @@ private Q_SLOTS:
Qt3DInput::Input::AnalogAxisInput backendAxisInput;
Qt3DInput::QAnalogAxisInput axisInput;
+ axisInput.setEnabled(true);
axisInput.setAxis(2);
axisInput.setSourceDevice(device);
simulateInitialization(&axisInput, &backendAxisInput);
@@ -158,6 +159,40 @@ private Q_SLOTS:
QCOMPARE(backendAxisInput.process(&handler, 32 * s), 0.2f);
QCOMPARE(backendAxisInput.process(&handler, 33 * s), 0.2f);
}
+
+ void shouldNotProcessAxisValueWhenDisabled()
+ {
+ 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::AnalogAxisInput backendAxisInput;
+ Qt3DInput::QAnalogAxisInput axisInput;
+ axisInput.setEnabled(false);
+ axisInput.setAxis(2);
+ axisInput.setSourceDevice(device);
+ simulateInitialization(&axisInput, &backendAxisInput);
+ QCOMPARE(backendAxisInput.axis(), 2);
+
+ // WHEN
+ deviceBackend->setAxisValue(2, 0.1f);
+
+ // THEN
+ QCOMPARE(backendAxisInput.process(&handler, 30 * s), 0.0f);
+ QCOMPARE(backendAxisInput.process(&handler, 31 * s), 0.0f);
+
+ // WHEN
+ deviceBackend->setAxisValue(2, 0.2f);
+
+ // THEN
+ QCOMPARE(backendAxisInput.process(&handler, 32 * s), 0.0f);
+ QCOMPARE(backendAxisInput.process(&handler, 33 * s), 0.0f);
+ }
};
QTEST_APPLESS_MAIN(tst_AnalogAxisInput)