summaryrefslogtreecommitdiffstats
path: root/tests/auto/statemachine/tst_statemachine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/statemachine/tst_statemachine.cpp')
-rw-r--r--tests/auto/statemachine/tst_statemachine.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/statemachine/tst_statemachine.cpp b/tests/auto/statemachine/tst_statemachine.cpp
index ed1f424..69d38b6 100644
--- a/tests/auto/statemachine/tst_statemachine.cpp
+++ b/tests/auto/statemachine/tst_statemachine.cpp
@@ -48,6 +48,7 @@ private Q_SLOTS:
void activeStateNames_data();
void activeStateNames();
void connections();
+ void historyState();
void onExit();
void eventOccurred();
@@ -251,6 +252,24 @@ void tst_StateMachine::connections()
#endif
}
+void tst_StateMachine::historyState()
+{
+ QScopedPointer<QScxmlStateMachine> stateMachine(
+ QScxmlStateMachine::fromFile(QString(":/tst_statemachine/historystate.scxml")));
+ QVERIFY(!stateMachine.isNull());
+
+ bool state2Reached = false;
+ QMetaObject::Connection state2Connection = stateMachine->connectToState("State2",
+ [&state2Reached](bool enabled) {
+ state2Reached = state2Reached || enabled;
+ });
+ QVERIFY(state2Connection);
+
+ stateMachine->start();
+
+ QTRY_VERIFY(state2Reached);
+}
+
void tst_StateMachine::onExit()
{
#if defined(__cpp_return_type_deduction) && __cpp_return_type_deduction == 201304