summaryrefslogtreecommitdiffstats
path: root/tests/auto/statemachine/tst_statemachine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/statemachine/tst_statemachine.cpp')
-rw-r--r--tests/auto/statemachine/tst_statemachine.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/auto/statemachine/tst_statemachine.cpp b/tests/auto/statemachine/tst_statemachine.cpp
index 69d38b6..4575737 100644
--- a/tests/auto/statemachine/tst_statemachine.cpp
+++ b/tests/auto/statemachine/tst_statemachine.cpp
@@ -56,6 +56,8 @@ private Q_SLOTS:
void running();
void invokeStateMachine();
+
+ void multipleInvokableServices(); // QTBUG-61484
};
void tst_StateMachine::stateNames_data()
@@ -384,7 +386,6 @@ void tst_StateMachine::doneDotStateEvent()
finishedSpy.wait(5000);
QCOMPARE(finishedSpy.count(), 1);
QCOMPARE(stateMachine->activeStateNames(true).size(), 1);
- qDebug() << stateMachine->activeStateNames(true);
QVERIFY(stateMachine->activeStateNames(true).contains(QLatin1String("success")));
}
@@ -428,6 +429,22 @@ void tst_StateMachine::invokeStateMachine()
QTRY_VERIFY(subMachine->activeStateNames().contains("here"));
}
+void tst_StateMachine::multipleInvokableServices()
+{
+ QScopedPointer<QScxmlStateMachine> stateMachine(
+ QScxmlStateMachine::fromFile(QString(":/tst_statemachine/multipleinvokableservices.scxml")));
+ QVERIFY(!stateMachine.isNull());
+
+ QSignalSpy finishedSpy(stateMachine.data(), SIGNAL(finished()));
+ stateMachine->start();
+ QCOMPARE(stateMachine->isRunning(), true);
+
+ finishedSpy.wait(5000);
+ QCOMPARE(finishedSpy.count(), 1);
+ QCOMPARE(stateMachine->activeStateNames(true).size(), 1);
+ QVERIFY(stateMachine->activeStateNames(true).contains(QLatin1String("success")));
+}
+
QTEST_MAIN(tst_StateMachine)
#include "tst_statemachine.moc"