diff options
author | Christian Strømme <christian.stromme@qt.io> | 2018-10-18 17:19:25 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2018-10-29 13:21:25 +0000 |
commit | 55b43d3e1c3a100f4ad41d94c132afd2a0d029b3 (patch) | |
tree | d3c88760174e575607c1b27eea10f7912e400efd /tests | |
parent | 5e9132d5f61385ce5d624c6f5db2f136a1bb8c84 (diff) |
Improve state handling
This is an attempt to clean up and make the state changes more sane,
i.e., by trying do everything once and in the right order. There are
still ugliness in this code, but it should be more easily to follow now,
aided by extra inline commentary. This change should also improve some
of the flickering seen in some examples when changing slides, as we try
avoid re-setting stuff when we don't need to.
Since time updates for the new slide is deferred until the first time
callback, some of the test needed to be changed to their QTRY_* version.
Also, there's now a clear distinction between stopped and paused, where
paused means the slides progress is stopped at time t, as expected and
stopped means the slides values and state is reset to it's initial state.
Task-number: QT3DS-1866
Change-Id: I7a9b61ee3ad4a976e0e8d4de386704dcf0d526bf
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/slideplayer/tst_q3dsslideplayer.cpp | 31 | ||||
-rw-r--r-- | tests/auto/slides/tst_q3dsslides.cpp | 420 |
2 files changed, 224 insertions, 227 deletions
diff --git a/tests/auto/slideplayer/tst_q3dsslideplayer.cpp b/tests/auto/slideplayer/tst_q3dsslideplayer.cpp index 96fa78b..4b494bb 100644 --- a/tests/auto/slideplayer/tst_q3dsslideplayer.cpp +++ b/tests/auto/slideplayer/tst_q3dsslideplayer.cpp @@ -188,9 +188,9 @@ void tst_Q3DSSlidePlayer::tst_playModes() QCOMPARE(player->duration(), 1000); player->play(); QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Playing); - QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); + QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Paused); - // Stopped -> playing -> stopped + // Stopped -> playing -> paused QCOMPARE(stateChangeSpy.count(), 2); // PlayToNext -> StopAtEnd QCOMPARE(slideChangedSpy.count(), 1); @@ -207,10 +207,11 @@ void tst_Q3DSSlidePlayer::tst_playModes() QCOMPARE(player->duration(), 1000); player->play(); QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Playing); - QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); + QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Paused); - // Stopped -> playing -> stopped + // Stopped -> playing -> paused QCOMPARE(stateChangeSpy.count(), 2); + // StopAtEnd (which was the previous slide, so no changes expected) QCOMPARE(slideChangedSpy.count(), 0); QCOMPARE(player->slideDeck()->currentSlide(), m_stopAtEnd); @@ -219,19 +220,15 @@ void tst_Q3DSSlidePlayer::tst_playModes() QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); slideChangedSpy.clear(); + stateChangeSpy.clear(); player->slideDeck()->setCurrentSlide(int(Slide::PlayToPrevious)); QCOMPARE(player->duration(), 1000); - player->stop(); - QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); - - stateChangeSpy.clear(); - player->play(); QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Playing); - QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); + QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Paused); - // Stopped -> playing -> stopped + // Stopped -> playing -> paused QCOMPARE(stateChangeSpy.count(), 2); // StopAtEnd -> PlayToPrevious -> StopAtEnd QCOMPARE(slideChangedSpy.count(), 2); @@ -250,9 +247,9 @@ void tst_Q3DSSlidePlayer::tst_playModes() player->play(); QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Playing); - QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); + QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Paused); - // Stopped -> playing -> stopped + // Stopped -> playing -> paused QCOMPARE(stateChangeSpy.count(), 2); // StopAtEnd -> Ping QCOMPARE(slideChangedSpy.count(), 1); @@ -320,9 +317,9 @@ void tst_Q3DSSlidePlayer::tst_playModes() player->play(); QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Playing); - QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); + QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Paused); - // Stopped -> playing -> stopped + // Stopped -> playing -> paused QCOMPARE(stateChangeSpy.count(), 2); // Looping -> PlayToSlide -> FinalSlide QCOMPARE(slideChangedSpy.count(), 2); @@ -343,9 +340,9 @@ void tst_Q3DSSlidePlayer::tst_playModes() player->play(); QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Playing); - QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Stopped); + QTRY_COMPARE(player->state(), Q3DSSlidePlayer::PlayerState::Paused); - // Stopped -> playing -> stopped + // Stopped -> playing -> paused QCOMPARE(stateChangeSpy.count(), 2); // FinalSlide -> Dummy QCOMPARE(slideChangedSpy.count(), 1); diff --git a/tests/auto/slides/tst_q3dsslides.cpp b/tests/auto/slides/tst_q3dsslides.cpp index 59d8809..f48311f 100644 --- a/tests/auto/slides/tst_q3dsslides.cpp +++ b/tests/auto/slides/tst_q3dsslides.cpp @@ -261,79 +261,79 @@ void tst_Q3DSSlides::setPresentationSlides() m_updateSpy.wait(30); Q3DSSlidePlayer *player = m_sceneManager->slidePlayer(); - player->stop(); + player->pause(); QVERIFY(player); // Check starting state QCOMPARE(player->duration(), 10000); // MasterCylinder should be visible - QVERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); // "Slide 1 Rect" should be visible - QVERIFY(isNodeVisible(m_slide1Rect)); - QVERIFY(!isNodeVisible(m_slide4Cone)); + QTRY_VERIFY(isNodeVisible(m_slide1Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide4Cone)); // Set second slide m_sceneManager->setCurrentSlide(m_presentationSlide2, true); // Verify second slide state QCOMPARE(player->duration(), 10000); // MasterCylinder should be visible - QVERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); // "Slide 2 Sphere" should be visible - QVERIFY(isNodeVisible(m_slide2Sphere)); + QTRY_VERIFY(isNodeVisible(m_slide2Sphere)); // "Slide 1 Rect" should not be visible - QVERIFY(!isNodeVisible(m_slide1Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide1Rect)); // Go back to first slide m_sceneManager->setCurrentSlide(m_presentationSlide1, true); // Check first slide state QCOMPARE(player->duration(), 10000); // MasterCylinder should be visible - QVERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); // "Slide 1 Rect" should be visible - QVERIFY(isNodeVisible(m_slide1Rect)); - QVERIFY(!isNodeVisible(m_slide4Cone)); + QTRY_VERIFY(isNodeVisible(m_slide1Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide4Cone)); // "Slide 2 Sphere" should not be visible - QVERIFY(!isNodeVisible(m_slide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_slide2Sphere)); // Set 3rd Slide (with Component) m_sceneManager->setCurrentSlide(m_presentationSlide3, true); QCOMPARE(player->duration(), 10000); // MasterCylinder should be visible - QVERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); // Component Should be visible - QVERIFY(isNodeVisible(m_slide3Component)); + QTRY_VERIFY(isNodeVisible(m_slide3Component)); // "Slide 2 Sphere" should not be visible - QVERIFY(!isNodeVisible(m_slide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_slide2Sphere)); // "Slide 1 Rect" should not be visible - QVERIFY(!isNodeVisible(m_slide1Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide1Rect)); // Set 4th Slide (from Component) m_sceneManager->setCurrentSlide(m_presentationSlide4, true); QCOMPARE(player->duration(), 12028); // MasterCylinder should be visible - QVERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); // Component Should not be visible - QVERIFY(!isNodeVisible(m_slide3Component)); + QTRY_VERIFY(!isNodeVisible(m_slide3Component)); // "Slide 2 Sphere" should not be visible - QVERIFY(!isNodeVisible(m_slide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_slide2Sphere)); // "Slide 1 Rect" should not be visible - QVERIFY(!isNodeVisible(m_slide1Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide1Rect)); // Slide 4 Cone should be visible - QVERIFY(isNodeVisible(m_slide4Cone)); + QTRY_VERIFY(isNodeVisible(m_slide4Cone)); // Set the same slide again m_sceneManager->setCurrentSlide(m_presentationSlide4, true); QCOMPARE(player->duration(), 12028); // MasterCylinder should be visible - QVERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); // Component Should not be visible - QVERIFY(!isNodeVisible(m_slide3Component)); + QTRY_VERIFY(!isNodeVisible(m_slide3Component)); // "Slide 2 Sphere" should not be visible - QVERIFY(!isNodeVisible(m_slide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_slide2Sphere)); // "Slide 1 Rect" should not be visible - QVERIFY(!isNodeVisible(m_slide1Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide1Rect)); // Slide 4 Cone should be visible - QVERIFY(isNodeVisible(m_slide4Cone)); + QTRY_VERIFY(isNodeVisible(m_slide4Cone)); } void tst_Q3DSSlides::presentationRollback() @@ -343,27 +343,27 @@ void tst_Q3DSSlides::presentationRollback() // DynamicSphere exists on the master slide (visible by default) // DynamicSphere has eyeball set to false on Slides 2 and 4 - QVERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); // Go to Second Slide m_sceneManager->setCurrentSlide(m_presentationSlide2, true); - QVERIFY(!isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_dynamicSphere)); // Go to Third Slide (requires rollback) m_sceneManager->setCurrentSlide(m_presentationSlide3, true); - QVERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); // Go to Forth Slide m_sceneManager->setCurrentSlide(m_presentationSlide4, true); - QVERIFY(!isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_dynamicSphere)); // Go to another slide with eyeball false (no rollback) m_sceneManager->setCurrentSlide(m_presentationSlide2, true); - QVERIFY(!isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_dynamicSphere)); // Make sure rollback still works m_sceneManager->setCurrentSlide(m_presentationSlide1, true); - QVERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); } @@ -371,64 +371,64 @@ void tst_Q3DSSlides::setComponentSlides() { // Set the presentation slide to Slide3 (contains component) m_sceneManager->setCurrentSlide(m_presentationSlide3, true); - QVERIFY(isNodeVisible(m_slide3Component)); + QTRY_VERIFY(isNodeVisible(m_slide3Component)); // Initial slide should be m_componentSlide1 - QVERIFY(isNodeVisible(m_componentMasterCube)); - QVERIFY(isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); // Switch to Component Slide 2 (text) m_sceneManager->setComponentCurrentSlide(m_componentSlide2, true); - QVERIFY(!isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); // Switch back to Component Slide 1 m_sceneManager->setComponentCurrentSlide(m_componentSlide1, true); - QVERIFY(isNodeVisible(m_componentMasterCube)); - QVERIFY(isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); // Switch to Component Slide 3 (deep component) m_sceneManager->setComponentCurrentSlide(m_componentSlide3, true); - QVERIFY(isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(isNodeVisible(m_componentSlide3Component)); // Switch to same slide m_sceneManager->setComponentCurrentSlide(m_componentSlide3, true); - QVERIFY(isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(isNodeVisible(m_componentSlide3Component)); } void tst_Q3DSSlides::componentRollback() { // Set the presentation slide to Slide3 (contains component) m_sceneManager->setCurrentSlide(m_presentationSlide3, true); - QVERIFY(isNodeVisible(m_slide3Component)); + QTRY_VERIFY(isNodeVisible(m_slide3Component)); // Set first slide which contains "Master Cube" m_sceneManager->setComponentCurrentSlide(m_componentSlide1, true); - QVERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); // Second slide sets Master Cube eyeball to false m_sceneManager->setComponentCurrentSlide(m_componentSlide2, true); - QVERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); // Switch back to first slide (requires rollback) m_sceneManager->setComponentCurrentSlide(m_componentSlide1, true); - QVERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); // Move to slide 3 (no change) m_sceneManager->setComponentCurrentSlide(m_componentSlide3, true); - QVERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); } void tst_Q3DSSlides::setDeepComponentSlides() @@ -437,33 +437,33 @@ void tst_Q3DSSlides::setDeepComponentSlides() // PresentationSlide3 -> ComponentSlide3 -> DeepComponentSlide[n] // Set the presentation slide to Slide3 (contains component) m_sceneManager->setCurrentSlide(m_presentationSlide3, true); - QVERIFY(isNodeVisible(m_slide3Component)); + QTRY_VERIFY(isNodeVisible(m_slide3Component)); m_sceneManager->setComponentCurrentSlide(m_componentSlide3, true); - QVERIFY(isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(isNodeVisible(m_componentSlide3Component)); // At this point the first slide of deep component should be active QVERIFY(m_componentSlide3Component->currentSlide() == m_deepComponentSlide1); - QVERIFY(isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); // Switch to second deep component slide m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide2, true); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(isNodeVisible(m_deepComponentSlide2Moon)); // Switch back to deep component first slide m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide1, true); - QVERIFY(isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); // Set same slide again m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide1, true); - QVERIFY(isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); } void tst_Q3DSSlides::deepComponentRollback() @@ -472,21 +472,21 @@ void tst_Q3DSSlides::deepComponentRollback() // PresentationSlide3 -> ComponentSlide3 -> DeepComponentSlide[n] // Set the presentation slide to Slide3 (contains component) m_sceneManager->setCurrentSlide(m_presentationSlide3, true); - QVERIFY(isNodeVisible(m_slide3Component)); + QTRY_VERIFY(isNodeVisible(m_slide3Component)); m_sceneManager->setComponentCurrentSlide(m_componentSlide3, true); - QVERIFY(isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(isNodeVisible(m_componentSlide3Component)); // First slide has "master text" active m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide1, true); - QVERIFY(isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(isNodeVisible(m_deepComponentMasterText)); // Second slide has eyeball set to false for master text m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide2, true); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); // Switch back to first slide to perform rollback m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide1, true); - QVERIFY(isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(isNodeVisible(m_deepComponentMasterText)); } void tst_Q3DSSlides::setNonVisibleComponentSlides() @@ -499,85 +499,85 @@ void tst_Q3DSSlides::setNonVisibleComponentSlides() // Select a presentation slide that does not have a component m_sceneManager->setCurrentSlide(m_presentationSlide1, true); - QVERIFY(!isNodeVisible(m_slide3Component)); + QTRY_VERIFY(!isNodeVisible(m_slide3Component)); // m_slide3Component is only visible on m_presentationSlide3 // change m_slide3Component's slides and make sure the contents // do not become visible. m_sceneManager->setComponentCurrentSlide(m_componentSlide1, true); - QVERIFY(!isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); m_sceneManager->setComponentCurrentSlide(m_componentSlide2, true); - QVERIFY(!isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); m_sceneManager->setComponentCurrentSlide(m_componentSlide3, true); - QVERIFY(!isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); // also change deep compoents slides (now active in component slide3) m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide1, true); - QVERIFY(!isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); m_sceneManager->setComponentCurrentSlide(m_deepComponentSlide2, true); - QVERIFY(!isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); // Now make component visible by switching to slide 3 m_sceneManager->setCurrentSlide(m_presentationSlide3, true); - QVERIFY(isNodeVisible(m_slide3Component)); - QVERIFY(isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(isNodeVisible(m_componentSlide3Component)); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(isNodeVisible(m_deepComponentSlide2Moon)); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(isNodeVisible(m_slide3Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); // make sure that they go away again m_sceneManager->setCurrentSlide(m_presentationSlide1, true); - QVERIFY(!isNodeVisible(m_slide3Component)); - QVERIFY(!isNodeVisible(m_componentMasterCube)); - QVERIFY(!isNodeVisible(m_componentSlide1Cone)); - QVERIFY(!isNodeVisible(m_componentSlide2Text)); - QVERIFY(!isNodeVisible(m_componentSlide3Component)); - QVERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); - QVERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); - QVERIFY(!isNodeVisible(m_deepComponentMasterText)); + QTRY_VERIFY(!isNodeVisible(m_slide3Component)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCube)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide2Text)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide3Component)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide1Cylinder)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Sphere)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentSlide2Moon)); + QTRY_VERIFY(!isNodeVisible(m_deepComponentMasterText)); } void tst_Q3DSSlides::testTimeLineVisibility() @@ -586,13 +586,13 @@ void tst_Q3DSSlides::testTimeLineVisibility() // and endtimes than the slide they are on m_sceneManager->setCurrentSlide(m_presentationSlide5, true); - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(!isNodeVisible(m_slide5Rect)); - QVERIFY(isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(isNodeVisible(m_slide5Sphere)); Q3DSSlidePlayer *player = m_sceneManager->slidePlayer(); - player->stop(); + player->pause(); QVERIFY(player); QSignalSpy updateSpy(m_engine, SIGNAL(nextFrameStarting())); @@ -608,7 +608,7 @@ void tst_Q3DSSlides::testTimeLineVisibility() m_sceneManager->setComponentCurrentSlide(m_componentSlide51); Q_ASSERT(m_componentSlide5MasterSlide == m_slide5Component->masterSlide()); Q3DSSlidePlayer *compPlayer = m_componentSlide5MasterSlide->attached<Q3DSSlideAttached>()->slidePlayer; - compPlayer->stop(); + compPlayer->pause(); QVERIFY(compPlayer); QSignalSpy compPositionChangedSpy(compPlayer, &Q3DSSlidePlayer::positionChanged); @@ -623,34 +623,34 @@ void tst_Q3DSSlides::testTimeLineVisibility() seekAndWait(999); // Still invisible - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(!isNodeVisible(m_slide5Rect)); - QVERIFY(isNodeVisible(m_slide5Sphere)); - QVERIFY(!isNodeVisible(m_slide5Component)); - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Component)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); seekAndWait(1000); // Slide 5 component becomes visible, but not components objects - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(isNodeVisible(m_slide5Rect)); - QVERIFY(isNodeVisible(m_slide5Sphere)); - QVERIFY(isNodeVisible(m_slide5Component)); - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); seekAndWait(1500); // Sync up the comp player seekAndWaitForComp(1500); // Everything now visible - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(isNodeVisible(m_slide5Rect)); - QVERIFY(isNodeVisible(m_slide5Sphere)); - QVERIFY(isNodeVisible(m_slide5Component)); - QVERIFY(isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCubeSlide5)); // Verify a positionChanged signal coming from component slide player seekAndWaitForComp(1501); @@ -660,36 +660,36 @@ void tst_Q3DSSlides::testTimeLineVisibility() seekAndWaitForComp(2000); // Everything still visible - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(isNodeVisible(m_slide5Rect)); - QVERIFY(isNodeVisible(m_slide5Sphere)); - QVERIFY(isNodeVisible(m_slide5Component)); - QVERIFY(isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCubeSlide5)); seekAndWait(2001); // Sync up the comp player seekAndWaitForComp(2001); // Neither rect nor sphere are visible - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(!isNodeVisible(m_slide5Rect)); - QVERIFY(!isNodeVisible(m_slide5Sphere)); - QVERIFY(isNodeVisible(m_slide5Component)); - QVERIFY(isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCubeSlide5)); seekAndWait(2885); // Sync up the comp player seekAndWaitForComp(2885); // Neither rect nor sphere are visible - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(!isNodeVisible(m_slide5Rect)); - QVERIFY(!isNodeVisible(m_slide5Sphere)); - QVERIFY(!isNodeVisible(m_slide5Component)); - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(!isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Component)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); // Now test time lines that are out of sync // Start by a know state with all visible @@ -698,67 +698,67 @@ void tst_Q3DSSlides::testTimeLineVisibility() seekAndWaitForComp(1500); // Everything now visible - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(isNodeVisible(m_slide5Rect)); - QVERIFY(isNodeVisible(m_slide5Sphere)); - QVERIFY(isNodeVisible(m_slide5Component)); - QVERIFY(isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCubeSlide5)); seekAndWaitForComp(0); - QVERIFY(isNodeVisible(m_slide5Component)); - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWaitForComp(1300); - QVERIFY(isNodeVisible(m_slide5Component)); - QVERIFY(isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWait(3000); - QVERIFY(!isNodeVisible(m_slide5Component)); + QTRY_VERIFY(!isNodeVisible(m_slide5Component)); // Component nodes should be hidden by parent. - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWait(1500); - QVERIFY(isNodeVisible(m_slide5Component)); + QTRY_VERIFY(isNodeVisible(m_slide5Component)); // Component nodes should be made visible by parent. - QVERIFY(isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWait(3000); - QVERIFY(!isNodeVisible(m_slide5Component)); + QTRY_VERIFY(!isNodeVisible(m_slide5Component)); // Make the parent make the component nodes hidden again - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWaitForComp(1000); // Component should not make its nodes visible. - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWaitForComp(100); // Hidden by component - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWait(1500); // ... Now make sure the parent doesn't make the component nodes visible! - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); - QVERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(!isNodeVisible(m_componentSlide5Slide1Cone)); seekAndWait(0); // Sync up the comp player seekAndWaitForComp(0); // Back to the beginning - QVERIFY(isNodeVisible(m_masterCylinder)); - QVERIFY(isNodeVisible(m_dynamicSphere)); - QVERIFY(!isNodeVisible(m_slide5Rect)); - QVERIFY(isNodeVisible(m_slide5Sphere)); - QVERIFY(!isNodeVisible(m_slide5Component)); - QVERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); + QTRY_VERIFY(isNodeVisible(m_masterCylinder)); + QTRY_VERIFY(isNodeVisible(m_dynamicSphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Rect)); + QTRY_VERIFY(isNodeVisible(m_slide5Sphere)); + QTRY_VERIFY(!isNodeVisible(m_slide5Component)); + QTRY_VERIFY(!isNodeVisible(m_componentMasterCubeSlide5)); } Q3DSModelNode *tst_Q3DSSlides::getModelWithName(const QString &name, Q3DSGraphObject *parent) |