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.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
index 77dc8dd1cc..af10f06718 100644
--- a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
+++ b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
@@ -210,6 +210,7 @@ private slots:
void createEventTransitionWhenRunning();
void signalTransitionSenderInDifferentThread();
void signalTransitionRegistrationThreadSafety();
+ void childModeConstructor();
};
class TestState : public QState
@@ -4934,5 +4935,46 @@ void tst_QStateMachine::signalTransitionRegistrationThreadSafety()
QTRY_VERIFY(thread.wait());
}
+void tst_QStateMachine::childModeConstructor()
+{
+ {
+ QStateMachine machine(QState::ExclusiveStates);
+ QCOMPARE(machine.childMode(), QState::ExclusiveStates);
+ QVERIFY(machine.parent() == 0);
+ QVERIFY(machine.parentState() == 0);
+ }
+ {
+ QStateMachine machine(QState::ParallelStates);
+ QCOMPARE(machine.childMode(), QState::ParallelStates);
+ QVERIFY(machine.parent() == 0);
+ QVERIFY(machine.parentState() == 0);
+ }
+ {
+ QStateMachine machine(QState::ExclusiveStates, this);
+ QCOMPARE(machine.childMode(), QState::ExclusiveStates);
+ QCOMPARE(machine.parent(), static_cast<QObject *>(this));
+ QVERIFY(machine.parentState() == 0);
+ }
+ {
+ QStateMachine machine(QState::ParallelStates, this);
+ QCOMPARE(machine.childMode(), QState::ParallelStates);
+ QCOMPARE(machine.parent(), static_cast<QObject *>(this));
+ QVERIFY(machine.parentState() == 0);
+ }
+ QState state;
+ {
+ QStateMachine machine(QState::ExclusiveStates, &state);
+ QCOMPARE(machine.childMode(), QState::ExclusiveStates);
+ QCOMPARE(machine.parent(), static_cast<QObject *>(&state));
+ QCOMPARE(machine.parentState(), &state);
+ }
+ {
+ QStateMachine machine(QState::ParallelStates, &state);
+ QCOMPARE(machine.childMode(), QState::ParallelStates);
+ QCOMPARE(machine.parent(), static_cast<QObject *>(&state));
+ QCOMPARE(machine.parentState(), &state);
+ }
+}
+
QTEST_MAIN(tst_QStateMachine)
#include "tst_qstatemachine.moc"