diff --git a/tests/auto/qml/qqmlcomponent/data/createWindow.qml b/tests/auto/qml/qqmlcomponent/data/createWindow.qml new file mode 100644 index 0000000..af0b7ed --- /dev/null +++ b/tests/auto/qml/qqmlcomponent/data/createWindow.qml @@ -0,0 +1,29 @@ +import QtQuick 2.1 +import QtQuick.Window 2.1 + +Window { + id: window1; + objectName: "window1"; + color: "#00FF00"; + width: 100; height: 100; + Item { + objectName: "item1" + width: 100; height: 100; + MouseArea { + objectName: "mousearea" + anchors.fill: parent; + onPressed: window2.requestActivate(); + } + Component.onCompleted: window2.show(); + } + + Window { + id: window2; + objectName: "window2"; + color: "#FF0000"; + width: 100; height: 100; + Item { + width: 100; height: 100; + } + } +} diff --git a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp index 697c810..9eeff66 100644 --- a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp +++ b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp @@ -105,6 +105,7 @@ public: private slots: void null(); void loadEmptyUrl(); + void qmlCreateWindow(); void qmlCreateObject(); void qmlCreateObjectWithProperties(); void qmlIncubateObject(); @@ -163,6 +164,15 @@ void tst_qqmlcomponent::qmlIncubateObject() delete object; } +void tst_qqmlcomponent::qmlCreateWindow() +{ + QQmlEngine engine; + QQmlComponent component(&engine); + component.loadUrl(testFileUrl("createWindow.qml")); + QQuickWindow* window = qobject_cast(component.create()); + QVERIFY(window); +} + void tst_qqmlcomponent::qmlCreateObject() { QQmlEngine engine;