diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2016-10-06 19:46:03 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-10-29 11:31:32 +0000 |
commit | 244d30c8374ab2613850f9da13f3bddd3171a280 (patch) | |
tree | 620d2be9962596c21e1f6249868841be146c8ab4 /tests/auto/input | |
parent | 67fa5fb9e7ae7a762c1d829c31f0098ced0775b9 (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.cpp | 47 |
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) |