diff options
Diffstat (limited to 'tests/auto/statemachine/tst_statemachine.cpp')
-rw-r--r-- | tests/auto/statemachine/tst_statemachine.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/auto/statemachine/tst_statemachine.cpp b/tests/auto/statemachine/tst_statemachine.cpp index 14628d3..fc20118 100644 --- a/tests/auto/statemachine/tst_statemachine.cpp +++ b/tests/auto/statemachine/tst_statemachine.cpp @@ -47,6 +47,8 @@ private Q_SLOTS: void activeStateNames(); void connectToFinal(); void eventOccurred(); + + void doneDotStateEvent(); }; void tst_StateMachine::stateNames_data() @@ -159,6 +161,21 @@ void tst_StateMachine::eventOccurred() QCOMPARE(qvariant_cast<QScxmlEvent>(externalEventOccurredSpy.at(0).at(0)).name(), QLatin1String("externalEvent")); } +void tst_StateMachine::doneDotStateEvent() +{ + QScopedPointer<QScxmlStateMachine> stateMachine(QScxmlStateMachine::fromFile(QString(":/tst_statemachine/stateDotDoneEvent.scxml"))); + QVERIFY(!stateMachine.isNull()); + + QSignalSpy finishedSpy(stateMachine.data(), SIGNAL(finished())); + + stateMachine->start(); + finishedSpy.wait(5000); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(stateMachine->activeStateNames(true).size(), 1); + qDebug() << stateMachine->activeStateNames(true); + QVERIFY(stateMachine->activeStateNames(true).contains(QLatin1String("success"))); +} + QTEST_MAIN(tst_StateMachine) |