aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickapplication
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2012-07-03 16:50:40 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-05 05:25:11 +0200
commit2edefe36773db0cbe837c33f65d0cde577ccb67a (patch)
treedf7cf8ea7a5e17006db646fe1a55552eca2b3dc3 /tests/auto/quick/qquickapplication
parent24edabccfeea6b30581cb08e555d2ecf6bde9d51 (diff)
Fix QQuickApplication::activate test.
ApplicationActivate and ApplicationDeactivate events are now delivered. Task-number: QTBUG-21573 Task-number: QTBUG-23331 Change-Id: I58e8d7c7730c66ec210f04a74a945d3eece61e01 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'tests/auto/quick/qquickapplication')
-rw-r--r--tests/auto/quick/qquickapplication/tst_qquickapplication.cpp35
1 files changed, 13 insertions, 22 deletions
diff --git a/tests/auto/quick/qquickapplication/tst_qquickapplication.cpp b/tests/auto/quick/qquickapplication/tst_qquickapplication.cpp
index 287ccef018..c2773307da 100644
--- a/tests/auto/quick/qquickapplication/tst_qquickapplication.cpp
+++ b/tests/auto/quick/qquickapplication/tst_qquickapplication.cpp
@@ -45,6 +45,7 @@
#include <QtQuick/qquickitem.h>
#include <QtQuick/qquickview.h>
#include <QtGui/qinputmethod.h>
+#include <qpa/qwindowsysteminterface.h>
class tst_qquickapplication : public QObject
{
@@ -79,37 +80,27 @@ void tst_qquickapplication::active()
"}", QUrl::fromLocalFile(""));
QQuickItem *item = qobject_cast<QQuickItem *>(component.create());
QVERIFY(item);
- QQuickView view;
- item->setParentItem(view.rootObject());
+ QQuickCanvas canvas;
+ item->setParentItem(canvas.rootItem());
// not active
QVERIFY(!item->property("active").toBool());
QVERIFY(!item->property("active2").toBool());
- QCOMPARE(item->property("active").toBool(), QGuiApplication::focusWindow() != 0);
// active
- view.show();
- view.requestActivateWindow();
- QTest::qWait(50);
- QEXPECT_FAIL("", "QTBUG-21573", Abort);
- QTRY_COMPARE(view.status(), QQuickView::Ready);
- QCOMPARE(item->property("active").toBool(), QGuiApplication::focusWindow() != 0);
- QCOMPARE(item->property("active2").toBool(), QGuiApplication::focusWindow() != 0);
-
-#if 0
- // QGuiApplication has no equivalent of setActiveWindow(0). QTBUG-21573
- // Is this different to clearing the active state of the window or can it be removed?
- // On Mac, setActiveWindow(0) on mac does not deactivate the current application,
- // must switch to a different app or hide the current app to trigger this
- // on mac, setActiveWindow(0) on mac does not deactivate the current application
- // (you have to switch to a different app or hide the current app to trigger this)
+ canvas.show();
+ canvas.requestActivateWindow();
+ QTest::qWaitForWindowActive(&canvas);
+ QVERIFY(QGuiApplication::focusWindow() == &canvas);
+ QVERIFY(item->property("active").toBool());
+ QVERIFY(item->property("active2").toBool());
// not active again
- QGuiApplication::setActiveWindow(0);
- QVERIFY(!item->property("active").toBool());
- QCOMPARE(item->property("active").toBool(), QGuiApplication::focusWindow() != 0);
-#endif
+ QWindowSystemInterface::handleWindowActivated(0);
+ QTRY_VERIFY(QGuiApplication::focusWindow() != &canvas);
+ QVERIFY(!item->property("active").toBool());
+ QVERIFY(!item->property("active2").toBool());
}
void tst_qquickapplication::layoutDirection()