diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-07-07 06:07:11 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-11 08:42:45 +0200 |
commit | d281aa6936ad01e28dacabb41bd9eb59891f85a1 (patch) | |
tree | fa1458eae4ce2b20afba4b98bc3423e9a1b881f5 /tests/auto/corelib/statemachine | |
parent | 28e9a602cb35fc621dec36e28e8556ca0052551e (diff) |
statemachine: Support parallel root state
QStateMachine inherits from QState, so it should be possible to set
its childMode to ParallelStates, and it should behave as expected
(the machine should emit the finished() signal when all its child
states are in final states).
Task-number: QTBUG-22931
Change-Id: Ic436351be0be69e3b01ae9984561132cd9839fa7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Diffstat (limited to 'tests/auto/corelib/statemachine')
-rw-r--r-- | tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp index 64f8d3aa9b..436b386a28 100644 --- a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp +++ b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp @@ -1912,11 +1912,16 @@ void tst_QStateMachine::parallelRootState() QSignalSpy startedSpy(&machine, SIGNAL(started())); QVERIFY(startedSpy.isValid()); - QTest::ignoreMessage(QtWarningMsg, "QStateMachine::start: No initial state set for machine. Refusing to start."); + QSignalSpy finishedSpy(&machine, SIGNAL(finished())); + QVERIFY(finishedSpy.isValid()); machine.start(); - QCoreApplication::processEvents(); - QEXPECT_FAIL("", "parallel root state is not supported (QTBUG-22931)", Continue); - QCOMPARE(startedSpy.count(), 1); + QTRY_COMPARE(startedSpy.count(), 1); + QCOMPARE(machine.configuration().size(), 4); + QVERIFY(machine.configuration().contains(s1)); + QVERIFY(machine.configuration().contains(s1_f)); + QVERIFY(machine.configuration().contains(s2)); + QVERIFY(machine.configuration().contains(s2_f)); + QTRY_COMPARE(finishedSpy.count(), 1); } void tst_QStateMachine::allSourceToTargetConfigurations() |