From b11edfb98c14d91d8a59352b05b5e902e8d2231b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4=C3=A4tt=C3=A4?= Date: Tue, 25 Oct 2016 13:43:59 +0300 Subject: Update EventForward autotests with focus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I7bc92c46f9ebb8fddc30207635cb5252944dfbca Reviewed-by: Tomi Korpipää Reviewed-by: Sean Harmer --- .../auto/render/eventforward/tst_eventforward.cpp | 17 +++++++ .../render/qeventforward/tst_qeventforward.cpp | 56 ++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/tests/auto/render/eventforward/tst_eventforward.cpp b/tests/auto/render/eventforward/tst_eventforward.cpp index 9a87fc40f..5352853a1 100644 --- a/tests/auto/render/eventforward/tst_eventforward.cpp +++ b/tests/auto/render/eventforward/tst_eventforward.cpp @@ -53,6 +53,7 @@ private Q_SLOTS: QCOMPARE(backendEventForward.coordinateTransform(), QMatrix4x4()); QCOMPARE(backendEventForward.forwardMouseEvents(), false); QCOMPARE(backendEventForward.forwardKeyboardEvents(), false); + QCOMPARE(backendEventForward.focus(), false); } void checkCleanupState() @@ -70,6 +71,7 @@ private Q_SLOTS: backendEventForward.setCoordinateTransform(transform); backendEventForward.setForwardMouseEvents(true); backendEventForward.setForwardKeyboardEvents(true); + backendEventForward.setFocus(true); backendEventForward.cleanup(); @@ -80,6 +82,7 @@ private Q_SLOTS: QCOMPARE(backendEventForward.coordinateTransform(), QMatrix4x4()); QCOMPARE(backendEventForward.forwardMouseEvents(), false); QCOMPARE(backendEventForward.forwardKeyboardEvents(), false); + QCOMPARE(backendEventForward.focus(), false); } void checkInitializeFromPeer() @@ -100,16 +103,19 @@ private Q_SLOTS: QCOMPARE(backendEventForward.coordinateTransform(), QMatrix4x4()); QCOMPARE(backendEventForward.forwardMouseEvents(), true); QCOMPARE(backendEventForward.forwardKeyboardEvents(), false); + QCOMPARE(backendEventForward.focus(), false); } { // WHEN Qt3DRender::Render::EventForward backendEventForward; eventForward.setEnabled(false); + eventForward.setFocus(true); simulateInitialization(&eventForward, &backendEventForward); // THEN QCOMPARE(backendEventForward.peerId(), eventForward.id()); QCOMPARE(backendEventForward.isEnabled(), false); + QCOMPARE(backendEventForward.focus(), true); } } @@ -188,6 +194,17 @@ private Q_SLOTS: // THEN QCOMPARE(backendEventForward.forwardKeyboardEvents(), newValue); } + { + // WHEN + const bool newValue = true; + const auto change = Qt3DCore::QPropertyUpdatedChangePtr::create(Qt3DCore::QNodeId()); + change->setPropertyName("focus"); + change->setValue(QVariant::fromValue(newValue)); + backendEventForward.sceneChangeEvent(change); + + // THEN + QCOMPARE(backendEventForward.focus(), newValue); + } } }; diff --git a/tests/auto/render/qeventforward/tst_qeventforward.cpp b/tests/auto/render/qeventforward/tst_qeventforward.cpp index 87ba114f2..aa525d4a2 100644 --- a/tests/auto/render/qeventforward/tst_qeventforward.cpp +++ b/tests/auto/render/qeventforward/tst_qeventforward.cpp @@ -54,6 +54,7 @@ private Q_SLOTS: QCOMPARE(eventForward.forwardKeyboardEvents(), false); QCOMPARE(eventForward.coordinateTransform(), QMatrix4x4()); QCOMPARE(eventForward.coordinateAttribute(), QStringLiteral("default")); + QCOMPARE(eventForward.focus(), false); } void checkPropertyChanges() @@ -158,6 +159,25 @@ private Q_SLOTS: QCOMPARE(eventForward.coordinateAttribute(), newValue); QCOMPARE(spy.count(), 0); } + { + // WHEN + QSignalSpy spy(&eventForward, SIGNAL(focusChanged(bool))); + const bool newValue = true; + eventForward.setFocus(newValue); + + // THEN + QVERIFY(spy.isValid()); + QCOMPARE(eventForward.focus(), newValue); + QCOMPARE(spy.count(), 1); + + // WHEN + spy.clear(); + eventForward.setFocus(newValue); + + // THEN + QCOMPARE(eventForward.focus(), newValue); + QCOMPARE(spy.count(), 0); + } } void checkCreationData() @@ -173,6 +193,7 @@ private Q_SLOTS: eventForward.setForwardKeyboardEvents(true); eventForward.setCoordinateTransform(transform); eventForward.setCoordinateAttribute(QStringLiteral("position")); + eventForward.setFocus(true); // WHEN QVector creationChanges; @@ -196,6 +217,7 @@ private Q_SLOTS: QCOMPARE(eventForward.forwardKeyboardEvents(), cloneData.forwardKeyboardEvents); QCOMPARE(eventForward.coordinateTransform(), cloneData.coordinateTransform); QCOMPARE(eventForward.coordinateAttribute(), cloneData.coordinateAttribute); + QCOMPARE(eventForward.focus(), cloneData.focus); QCOMPARE(eventForward.id(), creationChangeData->subjectId()); QCOMPARE(eventForward.isEnabled(), true); QCOMPARE(eventForward.isEnabled(), creationChangeData->isNodeEnabled()); @@ -224,6 +246,7 @@ private Q_SLOTS: QCOMPARE(eventForward.forwardKeyboardEvents(), cloneData.forwardKeyboardEvents); QCOMPARE(eventForward.coordinateTransform(), cloneData.coordinateTransform); QCOMPARE(eventForward.coordinateAttribute(), cloneData.coordinateAttribute); + QCOMPARE(eventForward.focus(), cloneData.focus); QCOMPARE(eventForward.id(), creationChangeData->subjectId()); QCOMPARE(eventForward.isEnabled(), false); QCOMPARE(eventForward.isEnabled(), creationChangeData->isNodeEnabled()); @@ -399,6 +422,39 @@ private Q_SLOTS: } + void checkFocusUpdate() + { + // GIVEN + TestArbiter arbiter; + Qt3DRender::QEventForward eventForward; + arbiter.setArbiterOnNode(&eventForward); + + { + // WHEN + eventForward.setFocus(true); + QCoreApplication::processEvents(); + + // THEN + QCOMPARE(arbiter.events.size(), 1); + auto change = arbiter.events.first().staticCast(); + QCOMPARE(change->propertyName(), "focus"); + QCOMPARE(change->value().toBool(), eventForward.focus()); + QCOMPARE(change->type(), Qt3DCore::PropertyUpdated); + + arbiter.events.clear(); + } + + { + // WHEN + eventForward.setFocus(true); + QCoreApplication::processEvents(); + + // THEN + QCOMPARE(arbiter.events.size(), 0); + } + + } + }; QTEST_MAIN(tst_QEventForward) -- cgit v1.2.3