diff options
Diffstat (limited to 'tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp')
-rw-r--r-- | tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp | 24 |
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() { |