summaryrefslogtreecommitdiffstats
path: root/tests/auto/input
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2016-10-06 19:46:03 +0200
committerSean Harmer <sean.harmer@kdab.com>2016-10-29 11:31:32 +0000
commit244d30c8374ab2613850f9da13f3bddd3171a280 (patch)
tree620d2be9962596c21e1f6249868841be146c8ab4 /tests/auto/input
parent67fa5fb9e7ae7a762c1d829c31f0098ced0775b9 (diff)
InputSequences shouldn't process when disabled
Change-Id: I4934111b506e1ce8c8950f084501e6d9ae61c913 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests/auto/input')
-rw-r--r--tests/auto/input/inputsequence/tst_inputsequence.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/auto/input/inputsequence/tst_inputsequence.cpp b/tests/auto/input/inputsequence/tst_inputsequence.cpp
index 6b4a39b68..a73572553 100644
--- a/tests/auto/input/inputsequence/tst_inputsequence.cpp
+++ b/tests/auto/input/inputsequence/tst_inputsequence.cpp
@@ -184,6 +184,7 @@ private Q_SLOTS:
Qt3DInput::Input::InputSequence backendInputSequence;
Qt3DInput::QInputSequence inputSequence;
+ inputSequence.setEnabled(true);
inputSequence.setButtonInterval(150);
inputSequence.setTimeout(450);
inputSequence.addSequence(firstInput);
@@ -309,6 +310,7 @@ private Q_SLOTS:
Qt3DInput::Input::InputSequence backendInputSequence;
Qt3DInput::QInputSequence inputSequence;
+ inputSequence.setEnabled(true);
inputSequence.setButtonInterval(250);
inputSequence.setTimeout(450);
inputSequence.addSequence(firstInput);
@@ -366,6 +368,7 @@ private Q_SLOTS:
Qt3DInput::Input::InputSequence backendInputSequence;
Qt3DInput::QInputSequence inputSequence;
+ inputSequence.setEnabled(true);
inputSequence.setButtonInterval(100);
inputSequence.setTimeout(450);
inputSequence.addSequence(firstInput);
@@ -393,6 +396,50 @@ private Q_SLOTS:
// THEN
QCOMPARE(backendInputSequence.process(&handler, 1300000000), false);
}
+
+ void shouldNotProcessWhenDisabled()
+ {
+ // GIVEN
+ TestDeviceIntegration deviceIntegration;
+ TestDevice *device = deviceIntegration.createPhysicalDevice("keyboard");
+ TestDeviceBackendNode *deviceBackend = deviceIntegration.physicalDevice(device->id());
+ Qt3DInput::Input::InputHandler handler;
+ handler.addInputDeviceIntegration(&deviceIntegration);
+
+ auto firstInput = new Qt3DInput::QActionInput;
+ firstInput->setButtons(QVector<int>() << Qt::Key_Q);
+ firstInput->setSourceDevice(device);
+ auto backendFirstInput = handler.actionInputManager()->getOrCreateResource(firstInput->id());
+ simulateInitialization(firstInput, backendFirstInput);
+
+ auto secondInput = new Qt3DInput::QActionInput;
+ secondInput->setButtons(QVector<int>() << Qt::Key_S);
+ secondInput->setSourceDevice(device);
+ auto backendSecondInput = handler.actionInputManager()->getOrCreateResource(secondInput->id());
+ simulateInitialization(secondInput, backendSecondInput);
+
+ Qt3DInput::Input::InputSequence backendInputSequence;
+ Qt3DInput::QInputSequence inputSequence;
+ inputSequence.setEnabled(false);
+ inputSequence.setButtonInterval(150);
+ inputSequence.setTimeout(450);
+ inputSequence.addSequence(firstInput);
+ inputSequence.addSequence(secondInput);
+ simulateInitialization(&inputSequence, &backendInputSequence);
+
+ // WHEN
+ deviceBackend->setButtonPressed(Qt::Key_Q, true);
+
+ // THEN
+ QCOMPARE(backendInputSequence.process(&handler, 1000000000), false);
+
+ // WHEN
+ deviceBackend->setButtonPressed(Qt::Key_Q, false);
+ deviceBackend->setButtonPressed(Qt::Key_S, true);
+
+ // THEN
+ QCOMPARE(backendInputSequence.process(&handler, 1100000000), false);
+ }
};
QTEST_APPLESS_MAIN(tst_InputSequence)