aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp')
-rw-r--r--tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp54
1 files changed, 30 insertions, 24 deletions
diff --git a/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp b/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp
index c7dea4c222..a5e998d1fa 100644
--- a/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp
+++ b/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp
@@ -80,9 +80,6 @@ private slots:
};
void tst_qsgfocusscope::initTestCase()
{
- QSGView canvas;
- if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
- QSKIP("FocusScope item needs OpenGL 2.0", SkipAll);
}
void tst_qsgfocusscope::cleanupTestCase()
@@ -127,11 +124,12 @@ void tst_qsgfocusscope::basic()
QVERIFY(item3 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->isTopLevel());
QVERIFY(item0->hasActiveFocus() == true);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == false);
@@ -169,11 +167,12 @@ void tst_qsgfocusscope::nested()
QVERIFY(item5 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == true);
@@ -198,11 +197,12 @@ void tst_qsgfocusscope::noFocus()
QVERIFY(item3 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item0->hasActiveFocus() == false);
QVERIFY(item1->hasActiveFocus() == false);
QVERIFY(item2->hasActiveFocus() == false);
@@ -238,11 +238,12 @@ void tst_qsgfocusscope::textEdit()
QVERIFY(item3 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item0->hasActiveFocus() == true);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == false);
@@ -292,11 +293,12 @@ void tst_qsgfocusscope::forceFocus()
QVERIFY(item5 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item0->hasActiveFocus() == true);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == false);
@@ -330,7 +332,7 @@ void tst_qsgfocusscope::noParentFocus()
QVERIFY(view->rootObject());
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
qApp->processEvents();
#ifdef Q_WS_X11
@@ -362,14 +364,15 @@ void tst_qsgfocusscope::signalEmission()
QVERIFY(item4 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
QVariant blue(QColor("blue"));
QVariant red(QColor("red"));
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
item1->setFocus(true);
QCOMPARE(item1->property("color"), red);
QCOMPARE(item2->property("color"), blue);
@@ -410,11 +413,12 @@ void tst_qsgfocusscope::qtBug13380()
view->show();
QVERIFY(view->rootObject());
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(view->rootObject()->property("noFocus").toBool());
view->rootObject()->setProperty("showRect", true);
@@ -429,7 +433,7 @@ void tst_qsgfocusscope::forceActiveFocus()
view->setSource(QUrl::fromLocalFile(SRCDIR "/data/forceActiveFocus.qml"));
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
qApp->processEvents();
#ifdef Q_WS_X11
@@ -572,7 +576,7 @@ void tst_qsgfocusscope::canvasFocus()
QSignalSpy item2ActiveFocusSpy(item2, SIGNAL(activeFocusChanged(bool)));
// until the canvas widget has gained focus, no one should have active focus
- QCOMPARE(view->hasFocus(), false);
+ QCOMPARE((view->windowState() == Qt::WindowActive), false);
QCOMPARE(rootItem->hasFocus(), false);
QCOMPARE(rootItem->hasActiveFocus(), false);
QCOMPARE(scope1->hasFocus(), true);
@@ -585,12 +589,13 @@ void tst_qsgfocusscope::canvasFocus()
QCOMPARE(item2->hasActiveFocus(), false);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
QTest::qWaitForWindowShown(view);
// Now the canvas has focus, active focus given to item1
- QTRY_COMPARE(view->hasFocus(), true);
+ QTRY_COMPARE((view->windowState() == Qt::WindowActive), true);
QCOMPARE(rootItem->hasFocus(), true);
QCOMPARE(rootItem->hasActiveFocus(), true);
QCOMPARE(scope1->hasFocus(), true);
@@ -608,7 +613,8 @@ void tst_qsgfocusscope::canvasFocus()
QCOMPARE(item1FocusSpy.count(), 0);
QCOMPARE(item1ActiveFocusSpy.count(), 1);
- view->clearFocus();
+
+ view->setWindowState(Qt::WindowNoState);
QCOMPARE(rootItem->hasFocus(), false);
QCOMPARE(rootItem->hasActiveFocus(), false);
QCOMPARE(scope1->hasFocus(), true);
@@ -648,7 +654,7 @@ void tst_qsgfocusscope::canvasFocus()
QCOMPARE(item2ActiveFocusSpy.count(), 0);
// give the canvas focus, and item2 will get active focus
- view->setFocus();
+ view->setWindowState(Qt::WindowActive);
QCOMPARE(rootItem->hasFocus(), true);
QCOMPARE(rootItem->hasActiveFocus(), true);