diff options
Diffstat (limited to 'tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp')
-rw-r--r-- | tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp index 6fde415f2a..102f96b1dc 100644 --- a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp +++ b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp @@ -189,6 +189,7 @@ private slots: void initialStateIsEnteredBeforeStartedEmitted(); void deletePropertyAssignmentObjectBeforeEntry(); void deletePropertyAssignmentObjectBeforeRestore(); + void deleteInitialState(); }; class TestState : public QState @@ -4073,5 +4074,17 @@ void tst_QStateMachine::deletePropertyAssignmentObjectBeforeRestore() delete o2; } +void tst_QStateMachine::deleteInitialState() +{ + QStateMachine machine; + QState *s1 = new QState(&machine); + machine.setInitialState(s1); + delete s1; + QTest::ignoreMessage(QtWarningMsg, "QStateMachine::start: No initial state set for machine. Refusing to start."); + machine.start(); + // Shouldn't crash + QCoreApplication::processEvents(); +} + QTEST_MAIN(tst_QStateMachine) #include "tst_qstatemachine.moc" |