aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmllanguage')
-rw-r--r--tests/auto/qml/qqmllanguage/data/unregisteredValueTypeConversion.qml5
-rw-r--r--tests/auto/qml/qqmllanguage/testtypes.cpp1
-rw-r--r--tests/auto/qml/qqmllanguage/testtypes.h6
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp2
4 files changed, 12 insertions, 2 deletions
diff --git a/tests/auto/qml/qqmllanguage/data/unregisteredValueTypeConversion.qml b/tests/auto/qml/qqmllanguage/data/unregisteredValueTypeConversion.qml
index ecf2130f5a..e0cebe58fc 100644
--- a/tests/auto/qml/qqmllanguage/data/unregisteredValueTypeConversion.qml
+++ b/tests/auto/qml/qqmllanguage/data/unregisteredValueTypeConversion.qml
@@ -2,5 +2,8 @@ import QtQml
import Test
UnregisteredValueTypeHandler {
- Component.onCompleted: consume(produce())
+ Component.onCompleted: {
+ consume(produce())
+ consume(produceDerived())
+ }
}
diff --git a/tests/auto/qml/qqmllanguage/testtypes.cpp b/tests/auto/qml/qqmllanguage/testtypes.cpp
index 87241921c9..3fc9fd7f16 100644
--- a/tests/auto/qml/qqmllanguage/testtypes.cpp
+++ b/tests/auto/qml/qqmllanguage/testtypes.cpp
@@ -150,6 +150,7 @@ void registerTypes()
qmlRegisterTypesAndRevisions<DerivedValueType>("ValueTypes", 1);
qmlRegisterTypesAndRevisions<GetterObject>("Test", 1);
+ QMetaType::registerConverter<UnregisteredValueDerivedType, UnregisteredValueBaseType>();
qmlRegisterTypesAndRevisions<UnregisteredValueTypeHandler>("Test", 1);
}
diff --git a/tests/auto/qml/qqmllanguage/testtypes.h b/tests/auto/qml/qqmllanguage/testtypes.h
index 3b4f612127..1220f70b3f 100644
--- a/tests/auto/qml/qqmllanguage/testtypes.h
+++ b/tests/auto/qml/qqmllanguage/testtypes.h
@@ -2426,6 +2426,11 @@ struct UnregisteredValueBaseType
int foo = 12;
};
+struct UnregisteredValueDerivedType: public UnregisteredValueBaseType
+{
+ int bar = 13;
+};
+
class UnregisteredValueTypeHandler: public QObject
{
Q_OBJECT
@@ -2435,6 +2440,7 @@ public:
public slots:
UnregisteredValueBaseType produce() { return UnregisteredValueBaseType(); }
+ UnregisteredValueDerivedType produceDerived() { return UnregisteredValueDerivedType(); }
void consume(UnregisteredValueBaseType) { ++consumed; }
};
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index ff5eeb9d7a..e1884dd87c 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -7920,7 +7920,7 @@ void tst_qqmllanguage::unregisteredValueTypeConversion()
QVERIFY(!o.isNull());
UnregisteredValueTypeHandler *handler = qobject_cast<UnregisteredValueTypeHandler *>(o.data());
Q_ASSERT(handler);
- QCOMPARE(handler->consumed, 1);
+ QCOMPARE(handler->consumed, 2);
}
QTEST_MAIN(tst_qqmllanguage)