aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quick/qquickwindow/data/windowattached.qml25
-rw-r--r--tests/auto/quick/qquickwindow/tst_qquickwindow.cpp21
2 files changed, 46 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickwindow/data/windowattached.qml b/tests/auto/quick/qquickwindow/data/windowattached.qml
new file mode 100644
index 0000000000..e000d5c6fd
--- /dev/null
+++ b/tests/auto/quick/qquickwindow/data/windowattached.qml
@@ -0,0 +1,25 @@
+import QtQuick 2.4
+import QtQuick.Window 2.2
+
+Rectangle {
+ id: root
+ width: 100
+ height: 100
+ property bool windowActive: root.Window.active
+ Text {
+ objectName: "rectangleWindowText"
+ anchors.centerIn: parent
+ text: (windowActive ? "active" : "inactive") + "\nvisibility: " + root.Window.visibility
+ }
+
+ property Window extraWindow: Window {
+ objectName: "extraWindow"
+ title: "extra window"
+ visible: true
+ Text {
+ objectName: "extraWindowText"
+ anchors.centerIn: parent
+ text: (extraWindow.active ? "active" : "inactive") + "\nvisibility: " + Window.visibility
+ }
+ }
+}
diff --git a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
index 7b23d144a9..b8e36b06fb 100644
--- a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
+++ b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
@@ -43,6 +43,7 @@
#include <QDebug>
#include <QTouchEvent>
#include <QtQuick/QQuickItem>
+#include <QtQuick/QQuickView>
#include <QtQuick/QQuickWindow>
#include <QtQml/QQmlEngine>
#include <QtQml/QQmlComponent>
@@ -368,6 +369,8 @@ private slots:
void defaultSurfaceFormat();
void glslVersion();
+ void attachedProperty();
+
void testRenderJob();
private:
@@ -1974,6 +1977,24 @@ void tst_qquickwindow::glslVersion()
}
}
+void tst_qquickwindow::attachedProperty()
+{
+ QQuickView view(testFileUrl("windowattached.qml"));
+ view.show();
+ view.requestActivate();
+ QVERIFY(QTest::qWaitForWindowActive(&view));
+ QVERIFY(view.rootObject()->property("windowActive").toBool());
+
+ QQuickWindow *innerWindow = view.rootObject()->findChild<QQuickWindow*>("extraWindow");
+ QVERIFY(innerWindow);
+ innerWindow->requestActivate();
+ QVERIFY(QTest::qWaitForWindowActive(innerWindow));
+
+ QQuickText *text = view.rootObject()->findChild<QQuickText*>("extraWindowText");
+ QVERIFY(text);
+ QCOMPARE(text->text(), QLatin1String("active\nvisibility: 2"));
+}
+
class RenderJob : public QRunnable
{
public: