aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-02-02 13:12:42 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-02-02 13:12:42 +0100
commit1d417a7bfa99695db7d8bf6b28a5141bf97e96cc (patch)
tree71d7fcd63cf14aa608284b436a481dca75014bc9 /tests
parenta1f0e69d162e9d6e1841b7a1e91dcca5e1109373 (diff)
parent666bc731a0ba930ca0cfda18daf836913fd91361 (diff)
Merge 5.6 into 5.6.0
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qqmlecmascript/data/metaobjectRevision5.qml12
-rw-r--r--tests/auto/qml/qqmlecmascript/testtypes.cpp1
-rw-r--r--tests/auto/qml/qqmlecmascript/testtypes.h17
-rw-r--r--tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp9
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp20
-rw-r--r--tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp18
6 files changed, 77 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlecmascript/data/metaobjectRevision5.qml b/tests/auto/qml/qqmlecmascript/data/metaobjectRevision5.qml
new file mode 100644
index 0000000000..0493a7c0b9
--- /dev/null
+++ b/tests/auto/qml/qqmlecmascript/data/metaobjectRevision5.qml
@@ -0,0 +1,12 @@
+import Qt.test 1.1
+import QtQuick 2.0
+
+MyItemUsingRevisionedObject {
+ property real test
+
+ revisioned.prop1: 10
+ revisioned.prop2: 1
+
+ Component.onCompleted: test = revisioned.prop1 + revisioned.prop2
+}
+
diff --git a/tests/auto/qml/qqmlecmascript/testtypes.cpp b/tests/auto/qml/qqmlecmascript/testtypes.cpp
index 285158a4ea..b9e088d64c 100644
--- a/tests/auto/qml/qqmlecmascript/testtypes.cpp
+++ b/tests/auto/qml/qqmlecmascript/testtypes.cpp
@@ -452,6 +452,7 @@ void registerTypes()
qmlRegisterType<MyRevisionedSubclass>("Qt.test",1,0,"MyRevisionedSubclass");
// MyRevisionedSubclass 1.1 uses MyRevisionedClass revision 1
qmlRegisterType<MyRevisionedSubclass,1>("Qt.test",1,1,"MyRevisionedSubclass");
+ qmlRegisterType<MyItemUsingRevisionedObject>("Qt.test", 1, 0, "MyItemUsingRevisionedObject");
#ifndef QT_NO_WIDGETS
qmlRegisterExtendedType<QWidget,QWidgetDeclarativeUI>("Qt.test",1,0,"QWidget");
diff --git a/tests/auto/qml/qqmlecmascript/testtypes.h b/tests/auto/qml/qqmlecmascript/testtypes.h
index eb4a3147d3..5603356ef0 100644
--- a/tests/auto/qml/qqmlecmascript/testtypes.h
+++ b/tests/auto/qml/qqmlecmascript/testtypes.h
@@ -1084,10 +1084,27 @@ protected:
qreal m_p4;
};
+
+class MyItemUsingRevisionedObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(MyRevisionedClass *revisioned READ revisioned)
+
+public:
+ MyItemUsingRevisionedObject() {
+ m_revisioned = new MyRevisionedClass;
+ }
+
+ MyRevisionedClass *revisioned() const { return m_revisioned; }
+private:
+ MyRevisionedClass *m_revisioned;
+};
+
QML_DECLARE_TYPE(MyRevisionedBaseClassRegistered)
QML_DECLARE_TYPE(MyRevisionedBaseClassUnregistered)
QML_DECLARE_TYPE(MyRevisionedClass)
QML_DECLARE_TYPE(MyRevisionedSubclass)
+QML_DECLARE_TYPE(MyItemUsingRevisionedObject)
Q_DECLARE_METATYPE(MyQmlObject::MyType)
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
index b30dfcbd0b..a208bf5634 100644
--- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -6578,6 +6578,15 @@ void tst_qqmlecmascript::revision()
QCOMPARE(object->property("test").toReal(), 11.);
delete object;
}
+
+ {
+ QQmlComponent component(&engine, testFileUrl("metaobjectRevision5.qml"));
+
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("test").toReal(), 11.);
+ delete object;
+ }
}
void tst_qqmlecmascript::realToInt()
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index 1f299c0dbb..71f206ed8f 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -249,6 +249,8 @@ private slots:
void dataAlignment();
+ void deleteSingletons();
+
private:
QQmlEngine engine;
QStringList defaultImportPathList;
@@ -4089,6 +4091,24 @@ void tst_qqmllanguage::dataAlignment()
QVERIFY(sizeof(QQmlVMEMetaData::MethodData) % sizeof(int) == 0);
}
+void tst_qqmllanguage::deleteSingletons()
+{
+ QPointer<QObject> singleton;
+ {
+ QQmlEngine tmpEngine;
+ QQmlComponent component(&tmpEngine, testFile("singletonTest5.qml"));
+ VERIFY_ERRORS(0);
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+ QObject *s1 = NULL;
+ getSingletonInstance(o, "singletonInstance", &s1);
+ QVERIFY(s1 != 0);
+ singleton = s1;
+ QVERIFY(singleton.data() != 0);
+ }
+ QVERIFY(singleton.data() == 0);
+}
+
QTEST_MAIN(tst_qqmllanguage)
#include "tst_qqmllanguage.moc"
diff --git a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
index 58755927b5..04abe0bfcb 100644
--- a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
+++ b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
@@ -1493,6 +1493,7 @@ struct MyOffice
{
Q_PROPERTY(int chairs MEMBER m_chairs)
Q_PROPERTY(MyDesk desk READ desk WRITE setDesk)
+ Q_PROPERTY(QVariant myThing READ myThing WRITE setMyThing)
Q_GADGET
public:
MyOffice() : m_chairs(0) {}
@@ -1500,8 +1501,12 @@ public:
MyDesk desk() const { return m_desk; }
void setDesk(const MyDesk &d) { m_desk = d; }
+ QVariant myThing() const { return m_myThing; }
+ void setMyThing(const QVariant &thingy) { m_myThing = thingy; }
+
int m_chairs;
MyDesk m_desk;
+ QVariant m_myThing;
};
Q_DECLARE_METATYPE(MyOffice)
@@ -1513,6 +1518,11 @@ void tst_qqmlvaluetypes::customValueType()
MyOffice cppOffice;
cppOffice.m_chairs = 2;
+ QVariantMap m;
+ m.insert(QStringLiteral("hasChair"), false);
+ m.insert(QStringLiteral("textOnWhiteboard"), QStringLiteral("Blah blah"));
+ cppOffice.m_myThing = m;
+
QJSValue office = engine.toScriptValue(cppOffice);
QCOMPARE(office.property("chairs").toInt(), 2);
office.setProperty("chairs", 1);
@@ -1530,6 +1540,14 @@ void tst_qqmlvaluetypes::customValueType()
cppOffice = engine.fromScriptValue<MyOffice>(office);
QCOMPARE(cppOffice.m_chairs, 1);
QCOMPARE(cppOffice.desk().monitorCount, 2);
+
+ QJSValue thingy = office.property("myThing");
+ QVERIFY(thingy.hasProperty("hasChair"));
+ QVERIFY(thingy.property("hasChair").isBool());
+ QCOMPARE(thingy.property("hasChair").toBool(), false);
+ QVERIFY(thingy.property("textOnWhiteboard").isString());
+ QVERIFY(thingy.hasProperty("textOnWhiteboard"));
+ QCOMPARE(thingy.property("textOnWhiteboard").toString(), QStringLiteral("Blah blah"));
}
struct BaseGadget