summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp')
-rw-r--r--tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
index e4a26d61b3..dd036641b2 100644
--- a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
+++ b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
@@ -222,6 +222,8 @@ public:
};
TestState(QState *parent)
: QState(parent) {}
+ TestState(ChildMode mode)
+ : QState(mode) {}
QList<QPair<int, Event> > events;
protected:
virtual void onEntry(QEvent *) {
@@ -1857,7 +1859,7 @@ void tst_QStateMachine::parallelStates()
{
QStateMachine machine;
- QState *s1 = new QState(QState::ParallelStates);
+ TestState *s1 = new TestState(QState::ParallelStates);
QCOMPARE(s1->childMode(), QState::ParallelStates);
TestState *s1_1 = new TestState(s1);
QState *s1_1_1 = new QState(s1_1);
@@ -1891,19 +1893,26 @@ void tst_QStateMachine::parallelStates()
QCOMPARE(machine.configuration().size(), 1);
QVERIFY(machine.configuration().contains(s2));
+ QCOMPARE(s1->events.count(), 2);
+ // s1 is entered
+ QCOMPARE(s1->events.at(0).first, 0);
+ QCOMPARE(s1->events.at(0).second, TestState::Entry);
// s1_1 is entered
QCOMPARE(s1_1->events.count(), 2);
- QCOMPARE(s1_1->events.at(0).first, 0);
+ QCOMPARE(s1_1->events.at(0).first, 1);
QCOMPARE(s1_1->events.at(0).second, TestState::Entry);
// s1_2 is entered
- QCOMPARE(s1_2->events.at(0).first, 1);
+ QCOMPARE(s1_2->events.at(0).first, 2);
QCOMPARE(s1_2->events.at(0).second, TestState::Entry);
- // s1_1 is exited
- QCOMPARE(s1_1->events.at(1).first, 2);
- QCOMPARE(s1_1->events.at(1).second, TestState::Exit);
// s1_2 is exited
QCOMPARE(s1_2->events.at(1).first, 3);
QCOMPARE(s1_2->events.at(1).second, TestState::Exit);
+ // s1_1 is exited
+ QCOMPARE(s1_1->events.at(1).first, 4);
+ QCOMPARE(s1_1->events.at(1).second, TestState::Exit);
+ // s1 is exited
+ QCOMPARE(s1->events.at(1).first, 5);
+ QCOMPARE(s1->events.at(1).second, TestState::Exit);
}
void tst_QStateMachine::parallelRootState()