summaryrefslogtreecommitdiffstats
path: root/tests/auto/statemachine
diff options
context:
space:
mode:
authorJan Arne Petersen <jan.petersen@kdab.com>2016-12-06 20:59:36 +0100
committerJani Heikkinen <jani.heikkinen@qt.io>2016-12-08 05:11:51 +0000
commitcfade3a4a723c09bb6653c115afc961f8bc42b35 (patch)
tree8db1a203d1762775ca198bc1046b2da5dac55e4e /tests/auto/statemachine
parent249b698b3963a0207aafc2cf65ce2dd9e5835676 (diff)
Emit runningChanged signal when running changes
The QScxmlStateMachine::runningChanged signal was never emitted. Emit it when the running property changes. Change-Id: I9b6cb8d48c9c8d893b0af2b8f87ecd74f4e64055 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Diffstat (limited to 'tests/auto/statemachine')
-rw-r--r--tests/auto/statemachine/tst_statemachine.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/statemachine/tst_statemachine.cpp b/tests/auto/statemachine/tst_statemachine.cpp
index f09ad42..99d6661 100644
--- a/tests/auto/statemachine/tst_statemachine.cpp
+++ b/tests/auto/statemachine/tst_statemachine.cpp
@@ -51,6 +51,7 @@ private Q_SLOTS:
void eventOccurred();
void doneDotStateEvent();
+ void running();
};
void tst_StateMachine::stateNames_data()
@@ -365,6 +366,26 @@ void tst_StateMachine::doneDotStateEvent()
QVERIFY(stateMachine->activeStateNames(true).contains(QLatin1String("success")));
}
+void tst_StateMachine::running()
+{
+ QScopedPointer<QScxmlStateMachine> stateMachine(
+ QScxmlStateMachine::fromFile(QString(":/tst_statemachine/statenames.scxml")));
+ QVERIFY(!stateMachine.isNull());
+
+ QSignalSpy runningChangedSpy(stateMachine.data(), SIGNAL(runningChanged(bool)));
+
+ QCOMPARE(stateMachine->isRunning(), false);
+
+ stateMachine->start();
+
+ QCOMPARE(runningChangedSpy.count(), 1);
+ QCOMPARE(stateMachine->isRunning(), true);
+
+ stateMachine->stop();
+
+ QCOMPARE(runningChangedSpy.count(), 2);
+ QCOMPARE(stateMachine->isRunning(), false);
+}
QTEST_MAIN(tst_StateMachine)