aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlmetatype/tst_qqmlmetatype.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmlmetatype/tst_qqmlmetatype.cpp')
-rw-r--r--tests/auto/qml/qqmlmetatype/tst_qqmlmetatype.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlmetatype/tst_qqmlmetatype.cpp b/tests/auto/qml/qqmlmetatype/tst_qqmlmetatype.cpp
index 50d23dd049..0556276280 100644
--- a/tests/auto/qml/qqmlmetatype/tst_qqmlmetatype.cpp
+++ b/tests/auto/qml/qqmlmetatype/tst_qqmlmetatype.cpp
@@ -573,6 +573,7 @@ class Grouped : public QObject
{
Q_OBJECT
Q_PROPERTY(int prop READ prop WRITE setProp NOTIFY propChanged REVISION 1)
+ Q_PROPERTY(int prop2 READ prop WRITE setProp NOTIFY prop2Changed REVISION 2)
public:
int prop() const { return m_prop; }
void setProp(int prop)
@@ -580,11 +581,13 @@ public:
if (prop != m_prop) {
m_prop = prop;
emit propChanged(prop);
+ emit prop2Changed(prop);
}
}
signals:
Q_REVISION(1) void propChanged(int prop);
+ Q_REVISION(2) void prop2Changed(int prop);
private:
int m_prop = 0;
@@ -602,13 +605,24 @@ private:
QScopedPointer<Grouped> m_grouped;
};
+class MyRevisioned : public MyItem
+{
+ Q_OBJECT
+ Q_PROPERTY(int revisioned READ revisioned CONSTANT REVISION 1)
+public:
+ int revisioned() const { return 12; }
+};
+
void tst_qqmlmetatype::revisionedGroupedProperties()
{
qmlClearTypeRegistrations();
qmlRegisterType<MyItem>("GroupedTest", 1, 0, "MyItem");
qmlRegisterType<MyItem, 1>("GroupedTest", 1, 1, "MyItem");
+ qmlRegisterType<MyRevisioned>("GroupedTest", 1, 0, "MyRevisioned");
+ qmlRegisterType<MyRevisioned, 1>("GroupedTest", 1, 1, "MyRevisioned");
qmlRegisterUncreatableType<Grouped>("GroupedTest", 1, 0, "Grouped", "Grouped");
qmlRegisterUncreatableType<Grouped, 1>("GroupedTest", 1, 1, "Grouped", "Grouped");
+ qmlRegisterUncreatableType<Grouped, 2>("GroupedTest", 1, 2, "Grouped", "Grouped");
{
QQmlEngine engine;
@@ -623,6 +637,15 @@ void tst_qqmlmetatype::revisionedGroupedProperties()
QQmlComponent invalid(&engine, testFileUrl("revisionedGroupedPropertiesInvalid.qml"));
QVERIFY(invalid.isError());
}
+
+ {
+ QQmlEngine engine;
+ QQmlComponent unversioned(
+ &engine, testFileUrl("revisionedGroupedPropertiesUnversioned.qml"));
+ QVERIFY2(unversioned.isReady(), qPrintable(unversioned.errorString()));
+ QScopedPointer<QObject> obj(unversioned.create());
+ QVERIFY(!obj.isNull());
+ }
}
void tst_qqmlmetatype::enumsInRecursiveImport_data()