diff options
author | Oliver Wolff <oliver.wolff@qt.io> | 2018-05-07 15:17:22 +0200 |
---|---|---|
committer | Oliver Wolff <oliver.wolff@qt.io> | 2018-06-22 05:02:38 +0000 |
commit | 40208168addb79d6e3fcec8f1272f6f58fd31bc6 (patch) | |
tree | 17eb3e55f51151ab14d03d9439f3d17e4f54ca3f /tests/auto | |
parent | 2a1d0c2669609f4e646143b279064c1979426a02 (diff) |
winrt: Make tst_qwindow pass
Task-number: QTBUG-68297
Change-Id: I9b5e90faa60a4fa2063b217db3b59ea3e89e4444
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/gui/kernel/qwindow/BLACKLIST | 1 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | 36 |
2 files changed, 35 insertions, 2 deletions
diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST index 70091121bc..bd2f6b5d60 100644 --- a/tests/auto/gui/kernel/qwindow/BLACKLIST +++ b/tests/auto/gui/kernel/qwindow/BLACKLIST @@ -1,6 +1,7 @@ [positioning:default] linux osx-10.12 ci +winrt [positioning:fake] osx-10.12 ci [modalWithChildWindow] diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index 85693d7bdd..fd0a051390 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -48,6 +48,12 @@ Q_DECLARE_METATYPE(Qt::ScreenOrientation) Q_DECLARE_METATYPE(QWindow::Visibility) +static bool isPlatformWinRT() +{ + static const bool isWinRT = !QGuiApplication::platformName().compare(QLatin1String("winrt"), Qt::CaseInsensitive); + return isWinRT; +} + class tst_QWindow: public QObject { Q_OBJECT @@ -235,6 +241,8 @@ void tst_QWindow::setVisible() QVERIFY(h.handle()); i.setParent(&h); QVERIFY2(i.handle(), "Making a visible but not created child window child of a created window should create it"); + if (isPlatformWinRT()) + QEXPECT_FAIL("", "Child windows are unsupported on winrt", Continue); QVERIFY(QTest::qWaitForWindowExposed(&i)); } @@ -399,11 +407,15 @@ void tst_QWindow::resizeEventAfterResize() // Make sure we get a resizeEvent after calling resize window.resize(m_testWindowSize); + if (isPlatformWinRT()) + QEXPECT_FAIL("", "Winrt windows are fullscreen by default.", Continue); QTRY_COMPARE(window.received(QEvent::Resize), 2); } void tst_QWindow::exposeEventOnShrink_QTBUG54040() { + if (isPlatformWinRT()) + QSKIP("", "WinRT does not support non-maximized/non-fullscreen top level windows. QTBUG-54528", Continue); Window window; window.setGeometry(QRect(m_availableTopLeft + QPoint(80, 80), m_testWindowSize)); window.setTitle(QTest::currentTestFunction()); @@ -591,6 +603,8 @@ void tst_QWindow::childWindowPositioning() { if (isPlatformWayland()) QSKIP("Wayland: This is flaky (protocol errors for xdg-shell v6). See QTBUG-67648."); + else if (isPlatformWinRT()) + QSKIP("WinRT does not support child windows."); const QPoint topLeftOrigin(0, 0); @@ -790,6 +804,8 @@ void tst_QWindow::isExposed() QCoreApplication::processEvents(); QTRY_VERIFY(window.received(QEvent::Expose) > 1); + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT does not destroy the window. Figure out why. QTBUG-68297", Continue); QTRY_VERIFY(!window.isExposed()); } @@ -823,6 +839,8 @@ void tst_QWindow::isActive() child.setGeometry(10, 10, 20, 20); child.show(); + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT does not support native child windows.", Abort); QTRY_VERIFY(child.isExposed()); child.requestActivate(); @@ -1857,6 +1875,8 @@ void tst_QWindow::initialSize() Window w; w.setWidth(m_testWindowSize.width()); w.showNormal(); + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT shows windows as fullscreen by default.", Continue); QTRY_COMPARE(w.width(), m_testWindowSize.width()); QTRY_VERIFY(w.height() > 0); } @@ -1867,6 +1887,8 @@ void tst_QWindow::initialSize() w.showNormal(); const QSize expectedSize = testSize; + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT shows windows as fullscreen by default.", Continue); QTRY_COMPARE(w.size(), expectedSize); } } @@ -1910,6 +1932,8 @@ void tst_QWindow::modalDialog() return; } + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT only support one native window.", Continue); QTRY_COMPARE(QGuiApplication::focusWindow(), &dialog); } @@ -1955,6 +1979,8 @@ void tst_QWindow::modalDialogClosingOneOfTwoModal() return; } + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT only support one native window.", Continue); QTRY_COMPARE(QGuiApplication::focusWindow(), &first_dialog); } @@ -1982,6 +2008,8 @@ void tst_QWindow::modalWithChildWindow() tlw_dialog.show(); QVERIFY(QTest::qWaitForWindowExposed(&tlw_dialog)); + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT only support one native window.", Abort); QVERIFY(QTest::qWaitForWindowExposed(&sub_window)); QTRY_COMPARE(QGuiApplication::focusWindow(), &tlw_dialog); @@ -2034,6 +2062,8 @@ void tst_QWindow::modalWindowPosition() window.setModality(Qt::WindowModal); window.show(); QVERIFY(QTest::qWaitForWindowExposed(&window)); + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT windows are fullscreen by default.", Continue); QCOMPARE(window.geometry(), origGeo); } @@ -2074,6 +2104,8 @@ void tst_QWindow::modalWindowEnterEventOnHide_QTBUG35109() // Wait for the enter event. It must be delivered here, otherwise second // compare can PASS because of this event even after "resetCounters()". + if (isPlatformWinRT()) + QEXPECT_FAIL("", "WinRT does not support QCursor::setPos.", Abort); QTRY_COMPARE(root.enterEventCount, 1); QTRY_COMPARE(root.leaveEventCount, 0); @@ -2224,8 +2256,8 @@ void tst_QWindow::spuriousMouseMove() const QString &platformName = QGuiApplication::platformName(); if (platformName == QLatin1String("offscreen") || platformName == QLatin1String("cocoa")) QSKIP("No enter events sent"); - if (isPlatformWayland()) - QSKIP("QCursor::setPos() is not supported on Wayland"); + if (isPlatformWayland() || isPlatformWinRT()) + QSKIP("QCursor::setPos() is not supported on this platform"); const QRect screenGeometry = QGuiApplication::primaryScreen()->geometry(); const QPoint center = screenGeometry.center(); QCursor::setPos(center); |