aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp')
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index 04a4bf7f46..ab547dc0ce 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -171,6 +171,7 @@ private slots:
void propertyInit();
void remoteLoadCrash();
void signalWithDefaultArg();
+ void signalParameterTypes();
// regression tests for crashes
void crash1();
@@ -355,6 +356,7 @@ void tst_qqmllanguage::errors_data()
QTest::newRow("signal.3") << "signal.3.qml" << "signal.3.errors.txt" << false;
QTest::newRow("signal.4") << "signal.4.qml" << "signal.4.errors.txt" << false;
QTest::newRow("signal.5") << "signal.5.qml" << "signal.5.errors.txt" << false;
+ QTest::newRow("signal.6") << "signal.6.qml" << "signal.6.errors.txt" << false;
QTest::newRow("method.1") << "method.1.qml" << "method.1.errors.txt" << false;
@@ -2923,6 +2925,28 @@ void tst_qqmllanguage::signalWithDefaultArg()
delete object;
}
+void tst_qqmllanguage::signalParameterTypes()
+{
+ // bound signal handlers
+ {
+ QQmlComponent component(&engine, testFileUrl("signalParameterTypes.1.qml"));
+ QObject *obj = component.create();
+ QVERIFY(obj != 0);
+ QVERIFY(obj->property("success").toBool());
+ delete obj;
+ }
+
+ // dynamic signal connections
+ {
+ QQmlComponent component(&engine, testFileUrl("signalParameterTypes.2.qml"));
+ QObject *obj = component.create();
+ QVERIFY(obj != 0);
+ QEXPECT_FAIL("", "Dynamic connections don't enforce type safety - QTBUG-26662", Abort);
+ QVERIFY(obj->property("success").toBool());
+ delete obj;
+ }
+}
+
// QTBUG-20639
void tst_qqmllanguage::globalEnums()
{