aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-07-26 10:44:16 +1000
committerQt by Nokia <qt-info@nokia.com>2011-07-26 06:29:54 +0200
commitf5eb5ad7a0b5bbfc40070a65d7dfc84c53ef9414 (patch)
treeb0227206c0241296b4f8b656da4e5b37813a1c24 /tests
parent2b449b0c5ea8b49f1ef0f9c06a7d0ff5eb2a59c4 (diff)
Autotest
Task-number: QTBUG-16878 Change-Id: I0d074c13b32670697f4811060ddf4edbdf6c6451 Reviewed-on: http://codereview.qt.nokia.com/2133 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com> Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/registrationOrder.qml4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/testtypes.cpp3
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/testtypes.h5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp13
4 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/registrationOrder.qml b/tests/auto/declarative/qdeclarativelanguage/data/registrationOrder.qml
new file mode 100644
index 0000000000..14217ad521
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/registrationOrder.qml
@@ -0,0 +1,4 @@
+import Test.VersionOrder 2.0
+
+MyQmlObject {
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp b/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp
index 20f07191eb..9c9eb04bf1 100644
--- a/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp
+++ b/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp
@@ -74,6 +74,9 @@ void registerTypes()
qmlRegisterType<MyQmlObject>("Test.Version",1,0,"MyQmlObject");
qmlRegisterType<MyTypeObject>("Test.Version",1,0,"MyTypeObject");
qmlRegisterType<MyTypeObject>("Test.Version",2,0,"MyTypeObject");
+
+ qmlRegisterType<MyVersion2Class>("Test.VersionOrder", 2,0, "MyQmlObject");
+ qmlRegisterType<MyQmlObject>("Test.VersionOrder", 1,0, "MyQmlObject");
}
QVariant myCustomVariantTypeConverter(const QString &data)
diff --git a/tests/auto/declarative/qdeclarativelanguage/testtypes.h b/tests/auto/declarative/qdeclarativelanguage/testtypes.h
index 527f670e13..c11bc33eab 100644
--- a/tests/auto/declarative/qdeclarativelanguage/testtypes.h
+++ b/tests/auto/declarative/qdeclarativelanguage/testtypes.h
@@ -794,6 +794,11 @@ protected:
qreal m_p5;
};
+class MyVersion2Class : public QObject
+{
+ Q_OBJECT
+};
+
QML_DECLARE_TYPE(MyRevisionedBaseClassRegistered)
QML_DECLARE_TYPE(MyRevisionedBaseClassUnregistered)
QML_DECLARE_TYPE(MyRevisionedClass)
diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
index b8f1899e12..328b7c8da1 100644
--- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
+++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
@@ -136,6 +136,7 @@ private slots:
void reservedWords();
void inlineAssignmentsOverrideBindings();
void nestedComponentRoots();
+ void registrationOrder();
void basicRemote_data();
void basicRemote();
@@ -2056,6 +2057,18 @@ void tst_qdeclarativelanguage::propertyInit()
}
}
+// Test that registration order doesn't break type availability
+// QTBUG-16878
+void tst_qdeclarativelanguage::registrationOrder()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("registrationOrder.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+ QVERIFY(o->metaObject() == &MyVersion2Class::staticMetaObject);
+ delete o;
+}
+
QTEST_MAIN(tst_qdeclarativelanguage)
#include "tst_qdeclarativelanguage.moc"