diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/compiled/tst_compiled.cpp | 11 | ||||
-rw-r--r-- | tests/auto/scion/tst_scion.cpp | 7 | ||||
-rw-r--r-- | tests/auto/statemachine/eventoccurred.scxml | 16 | ||||
-rw-r--r-- | tests/auto/statemachine/tst_statemachine.cpp | 31 |
4 files changed, 37 insertions, 28 deletions
diff --git a/tests/auto/compiled/tst_compiled.cpp b/tests/auto/compiled/tst_compiled.cpp index 49174e3..c6ee894 100644 --- a/tests/auto/compiled/tst_compiled.cpp +++ b/tests/auto/compiled/tst_compiled.cpp @@ -54,15 +54,16 @@ void tst_Compiled::stateNames() { ids1 stateMachine; + // The states have to be appear in document order: QStringList ids1States({ - "_", - "_VALID", - "__valid", - "foo-bar", "foo.bar", + "foo-bar", "foo_bar", - "n_0xe4_l", + "_", "näl", + "n_0xe4_l", + "_VALID", + "__valid", "qÿ̀i", }); diff --git a/tests/auto/scion/tst_scion.cpp b/tests/auto/scion/tst_scion.cpp index c06ac1b..5b7bded 100644 --- a/tests/auto/scion/tst_scion.cpp +++ b/tests/auto/scion/tst_scion.cpp @@ -55,8 +55,6 @@ static QSet<QString> testFailOnRun = QSet<QString>() << QLatin1String("w3c-ecma/test178.txml") // We do not support the optional basic http event i/o processor. << QLatin1String("w3c-ecma/test201.txml") - << QLatin1String("w3c-ecma/test364.txml") // initial attribute on <state> - << QLatin1String("w3c-ecma/test388.txml") // Qt refuses to set an initial state to a "deep" state << QLatin1String("w3c-ecma/test230.txml") << QLatin1String("w3c-ecma/test250.txml") << QLatin1String("w3c-ecma/test307.txml") @@ -387,7 +385,10 @@ bool TestScion::runTest(QScxmlStateMachine *stateMachine, const QJsonObject &tes return playEvents(stateMachine, testDescription); } else { // Wait for all events (delayed or otherwise) to propagate. - finishedSpy.fastWait(); // Some tests don't have a final state, so don't check for the result. + if (stateMachine->isRunning()) { + finishedSpy.fastWait(); // Some tests don't have a final state, so don't check for the + // result + } return verifyStates(stateMachine, testDescription, QLatin1String("initialConfiguration"), 0); } } diff --git a/tests/auto/statemachine/eventoccurred.scxml b/tests/auto/statemachine/eventoccurred.scxml index 87aaf41..ffceb3f 100644 --- a/tests/auto/statemachine/eventoccurred.scxml +++ b/tests/auto/statemachine/eventoccurred.scxml @@ -41,13 +41,13 @@ <transition event="timeout" target="final"/> </state> <final id="final"/> - </state> - <!-- - The done.state.* events are internal, so expose them to the spy too by re-sending them as - external events: - --> - <transition event="done.state.*" cond="_event.type === 'internal'"> - <send eventexpr="_event.name"/> - </transition> + <!-- + The done.state.* events are internal, so expose them to the spy too by re-sending them as + external events: + --> + <transition event="done.state.*" cond="_event.type === 'internal'"> + <send eventexpr="_event.name"/> + </transition> + </state> </scxml> diff --git a/tests/auto/statemachine/tst_statemachine.cpp b/tests/auto/statemachine/tst_statemachine.cpp index fc20118..e2e0d22 100644 --- a/tests/auto/statemachine/tst_statemachine.cpp +++ b/tests/auto/statemachine/tst_statemachine.cpp @@ -62,18 +62,18 @@ void tst_StateMachine::stateNames_data() << (QStringList() << QString("a1") << QString("a2") << QString("final")); QTest::newRow("stateNames-notCompressed") << QString(":/tst_statemachine/statenames.scxml") << false - << (QStringList() << QString("a") << QString("a1") << QString("a2") << QString("b") << QString("final") << QString("top")); + << (QStringList() << QString("top") << QString("a") << QString("a1") << QString("a2") << QString("b") << QString("final")); QTest::newRow("stateNamesNested-compressed") << QString(":/tst_statemachine/statenamesnested.scxml") << true << (QStringList() << QString("a") << QString("b")); QTest::newRow("stateNamesNested-notCompressed") << QString(":/tst_statemachine/statenamesnested.scxml") << false - << (QStringList() << QString("a") << QString("b") << QString("super_top")); + << (QStringList() << QString("super_top") << QString("a") << QString("b")); QTest::newRow("ids1") << QString(":/tst_statemachine/ids1.scxml") << false - << (QStringList() << QString("_") << QString("foo-bar") - << QString("foo.bar") << QString("foo_bar")); + << (QStringList() << QString("foo.bar") << QString("foo-bar") + << QString("foo_bar") << QString("_")); } void tst_StateMachine::stateNames() @@ -100,13 +100,13 @@ void tst_StateMachine::activeStateNames_data() << (QStringList() << QString("a1") << QString("final")); QTest::newRow("stateNames-notCompressed") << QString(":/tst_statemachine/statenames.scxml") << false - << (QStringList() << QString("a") << QString("a1") << QString("b") << QString("final") << QString("top")); + << (QStringList() << QString("top") << QString("a") << QString("a1") << QString("b") << QString("final")); QTest::newRow("stateNamesNested-compressed") << QString(":/tst_statemachine/statenamesnested.scxml") << true - << (QStringList() << QString("a")<< QString("b")); + << (QStringList() << QString("a") << QString("b")); QTest::newRow("stateNamesNested-notCompressed") << QString(":/tst_statemachine/statenamesnested.scxml") << false - << (QStringList() << QString("a") << QString("b") << QString("super_top")); + << (QStringList() << QString("super_top") << QString("a") << QString("b")); } void tst_StateMachine::activeStateNames() @@ -150,12 +150,19 @@ void tst_StateMachine::eventOccurred() finishedSpy.wait(5000); - QCOMPARE(eventOccurredSpy.count(), 4); - QCOMPARE(qvariant_cast<QScxmlEvent>(eventOccurredSpy.at(0).at(0)).name(), QLatin1String("internalEvent2")); - QCOMPARE(qvariant_cast<QScxmlEvent>(eventOccurredSpy.at(1).at(0)).name(), QLatin1String("externalEvent")); - QCOMPARE(qvariant_cast<QScxmlEvent>(eventOccurredSpy.at(2).at(0)).name(), QLatin1String("timeout")); - QCOMPARE(qvariant_cast<QScxmlEvent>(eventOccurredSpy.at(3).at(0)).name(), QLatin1String("done.state.top")); + auto event = [&eventOccurredSpy](int eventIndex) -> QScxmlEvent { + return qvariant_cast<QScxmlEvent>(eventOccurredSpy.at(eventIndex).at(0)); + }; + QCOMPARE(eventOccurredSpy.count(), 4); + QCOMPARE(event(0).name(), QLatin1String("internalEvent2")); + QCOMPARE(event(0).eventType(), QScxmlEvent::ExternalEvent); + QCOMPARE(event(1).name(), QLatin1String("externalEvent")); + QCOMPARE(event(1).eventType(), QScxmlEvent::ExternalEvent); + QCOMPARE(event(2).name(), QLatin1String("timeout")); + QCOMPARE(event(2).eventType(), QScxmlEvent::ExternalEvent); + QCOMPARE(event(3).name(), QLatin1String("done.state.top")); + QCOMPARE(event(3).eventType(), QScxmlEvent::ExternalEvent); QCOMPARE(externalEventOccurredSpy.count(), 1); QCOMPARE(qvariant_cast<QScxmlEvent>(externalEventOccurredSpy.at(0).at(0)).name(), QLatin1String("externalEvent")); |