aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qmltc/tst_qmltc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qmltc/tst_qmltc.cpp')
-rw-r--r--tests/auto/qml/qmltc/tst_qmltc.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/auto/qml/qmltc/tst_qmltc.cpp b/tests/auto/qml/qmltc/tst_qmltc.cpp
index af03af264c..06d63333fc 100644
--- a/tests/auto/qml/qmltc/tst_qmltc.cpp
+++ b/tests/auto/qml/qmltc/tst_qmltc.cpp
@@ -80,6 +80,7 @@
#include "testprivateproperty.h"
#include "singletons.h"
+#include "mysignals.h"
// Qt:
#include <QtCore/qstring.h>
@@ -3124,4 +3125,61 @@ void tst_qmltc::singletons()
QCOMPARE(createdByComponent->property("qmlSingleton2"), 100);
}
}
+
+void tst_qmltc::constSignalParameters()
+{
+ QQmlEngine e;
+ PREPEND_NAMESPACE(mySignals) fromQmltc(&e);
+
+ int primitive = 123;
+ QFont defaultGadget;
+ QFont gadget;
+ gadget.setBold(true);
+ QQuickItem myItem;
+ myItem.setObjectName("New Name");
+
+ // by value
+ fromQmltc.setPrimitive(123);
+ emit fromQmltc.signalWithPrimitive(primitive);
+ QCOMPARE(fromQmltc.primitive(), primitive);
+
+ fromQmltc.setGadget(defaultGadget);
+ emit fromQmltc.signalWithGadget(gadget);
+ QCOMPARE(fromQmltc.gadget(), gadget);
+
+ // by const ref
+ fromQmltc.setPrimitive(123);
+ emit fromQmltc.signalWithConstReferenceToPrimitive(primitive);
+ QCOMPARE(fromQmltc.primitive(), primitive);
+
+ fromQmltc.setGadget(defaultGadget);
+ emit fromQmltc.signalWithConstReferenceToGadget(gadget);
+ QCOMPARE(fromQmltc.gadget(), gadget);
+
+ // by pointer
+ fromQmltc.setObject(nullptr);
+ emit fromQmltc.signalWithPointer(&myItem);
+ QCOMPARE(fromQmltc.object(), &myItem);
+
+ fromQmltc.setObject(nullptr);
+ emit fromQmltc.signalWithPointerToConst(&myItem);
+ QCOMPARE(fromQmltc.object(), &myItem);
+
+ fromQmltc.setObject(nullptr);
+ emit fromQmltc.signalWithPointerToConst2(&myItem);
+ QCOMPARE(fromQmltc.object(), &myItem);
+
+ fromQmltc.setObject(nullptr);
+ emit fromQmltc.signalWithConstPointer(&myItem);
+ QCOMPARE(fromQmltc.object(), &myItem);
+
+ fromQmltc.setObject(nullptr);
+ emit fromQmltc.signalWithConstPointerToConst(&myItem);
+ QCOMPARE(fromQmltc.object(), &myItem);
+
+ fromQmltc.setObject(nullptr);
+ emit fromQmltc.signalWithConstPointerToConst2(&myItem);
+ QCOMPARE(fromQmltc.object(), &myItem);
+}
+
QTEST_MAIN(tst_qmltc)