diff options
author | Dmitrii Akshintsev <dmitrii.akshintsev@qt.io> | 2024-04-16 17:13:19 +0200 |
---|---|---|
committer | Dmitrii Akshintsev <dmitrii.akshintsev@qt.io> | 2024-04-17 11:00:26 +0000 |
commit | 2c966b97be56557007f198ee906844f78ef2944a (patch) | |
tree | eea165af46ae9c483738a9129bc61f8e16cb394b /tests/auto | |
parent | 9c8577c12643bf222dc37a5ba2dc1d08dc168f8e (diff) |
QScxmlStateMachine add runtime warning
As suggested by Ulf, in addition to correcting the documentation
runtime warning will be helpful. This commit adds the warning
and a test for that
Change-Id: I6dbd727e493431d7d71efbc5b527df8d67d50dcd
Fixes: QTBUG-109371
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/statemachine/tst_statemachine.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/statemachine/tst_statemachine.cpp b/tests/auto/statemachine/tst_statemachine.cpp index 85d06c8..1aa74f7 100644 --- a/tests/auto/statemachine/tst_statemachine.cpp +++ b/tests/auto/statemachine/tst_statemachine.cpp @@ -31,6 +31,7 @@ private Q_SLOTS: void doneDotStateEvent(); void running(); + void restart(); void invokeStateMachine(); @@ -392,6 +393,24 @@ void tst_StateMachine::running() QCOMPARE(stateMachine->isRunning(), false); } +void tst_StateMachine::restart() +{ + 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.size(), 1); + QCOMPARE(stateMachine->activeStateNames(true).size(), 1); + QVERIFY(stateMachine->activeStateNames(true).contains(QLatin1String("success"))); + + QTest::ignoreMessage(QtWarningMsg, QRegularExpression("(.*)Can't start finished machine")); + stateMachine->start(); +} + void tst_StateMachine::invokeStateMachine() { QScopedPointer<QScxmlStateMachine> stateMachine( |