diff options
Diffstat (limited to 'tests/auto/gui')
4 files changed, 151 insertions, 76 deletions
diff --git a/tests/auto/gui/image/qicon/tst_qicon.cpp b/tests/auto/gui/image/qicon/tst_qicon.cpp index c21f725b55..6c62d6f1b4 100644 --- a/tests/auto/gui/image/qicon/tst_qicon.cpp +++ b/tests/auto/gui/image/qicon/tst_qicon.cpp @@ -439,6 +439,9 @@ void tst_QIcon::availableSizes() // we try to load an icon from resources QIcon icon(QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-open-16.png")); QList<QSize> availableSizes = icon.availableSizes(); +#ifdef QT_NO_WIDGETS + QEXPECT_FAIL("", "See QTBUG-31993", Abort); +#endif QCOMPARE(availableSizes.size(), 1); QCOMPARE(availableSizes.at(0), QSize(16, 16)); } @@ -635,6 +638,9 @@ void tst_QIcon::task223279_inconsistentAddFile() icon2.addFile(QLatin1String("IconThatDoesntExist")); QPixmap pm2 = icon1.pixmap(32, 32); +#ifdef QT_NO_WIDGETS + QEXPECT_FAIL("", "See QTBUG-31993", Abort); +#endif QCOMPARE(pm1.isNull(), false); QCOMPARE(pm1.size(), QSize(16,16)); QCOMPARE(pm1.isNull(), pm2.isNull()); diff --git a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp index 6a718a78e3..ed07b3fab5 100644 --- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp +++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp @@ -43,11 +43,15 @@ #include <QtTest/QtTest> #include <QtGui/QGuiApplication> #include <QtGui/QWindow> +#include <QtGui/QScreen> +#include <QtGui/QCursor> #include <qpa/qwindowsysteminterface.h> #include <qgenericplugin.h> #include <QDebug> +enum { spacing = 50, windowSize = 200 }; + class tst_QGuiApplication: public QObject { Q_OBJECT @@ -103,8 +107,17 @@ void tst_QGuiApplication::focusObject() QGuiApplication app(argc, 0); QObject obj1, obj2, obj3; + const QRect screenGeometry = QGuiApplication::primaryScreen()->availableVirtualGeometry(); + DummyWindow window1; + window1.resize(windowSize, windowSize); + window1.setTitle(QStringLiteral("focusObject:window1")); + window1.setFramePosition(QPoint(screenGeometry.left() + spacing, screenGeometry.top() + spacing)); DummyWindow window2; + window2.resize(windowSize, windowSize); + window2.setFramePosition(QPoint(screenGeometry.left() + 2 * spacing + windowSize, screenGeometry.top() + spacing)); + window2.setTitle(QStringLiteral("focusObject:window2")); + window1.show(); QSignalSpy spy(&app, SIGNAL(focusObjectChanged(QObject*))); @@ -204,11 +217,19 @@ void tst_QGuiApplication::abortQuitOnShow() { int argc = 0; QGuiApplication app(argc, 0); - QWindow *window1 = new ShowCloseShowWindow(false); + const QRect screenGeometry = QGuiApplication::primaryScreen()->availableVirtualGeometry(); + + QScopedPointer<QWindow> window1(new ShowCloseShowWindow(false)); + window1->resize(windowSize, windowSize); + window1->setFramePosition(QPoint(screenGeometry.left() + spacing, screenGeometry.top() + spacing)); + window1->setTitle(QStringLiteral("abortQuitOnShow:window1")); window1->show(); QCOMPARE(app.exec(), 0); - QWindow *window2 = new ShowCloseShowWindow(true); + QScopedPointer<QWindow> window2(new ShowCloseShowWindow(true)); + window2->setTitle(QStringLiteral("abortQuitOnShow:window2")); + window2->resize(windowSize, windowSize); + window2->setFramePosition(QPoint(screenGeometry.left() + 2 * spacing + windowSize, screenGeometry.top() + spacing)); window2->show(); QCOMPARE(app.exec(), 1); } @@ -240,10 +261,18 @@ void tst_QGuiApplication::changeFocusWindow() { int argc = 0; QGuiApplication app(argc, 0); + const QRect screenGeometry = QGuiApplication::primaryScreen()->availableVirtualGeometry(); // focus is changed between FocusAboutToChange and FocusChanged - FocusChangeWindow window1, window2; + FocusChangeWindow window1; + window1.resize(windowSize, windowSize); + window1.setFramePosition(QPoint(screenGeometry.left() + spacing, screenGeometry.top() + spacing)); + window1.setTitle(QStringLiteral("changeFocusWindow:window1")); window1.show(); + FocusChangeWindow window2; + window2.resize(windowSize, windowSize); + window2.setFramePosition(QPoint(screenGeometry.left() + 2 * spacing + windowSize, screenGeometry.top() + spacing)); + window2.setTitle(QStringLiteral("changeFocusWindow:window2")); window2.show(); QVERIFY(QTest::qWaitForWindowExposed(&window1)); QVERIFY(QTest::qWaitForWindowExposed(&window2)); @@ -260,62 +289,67 @@ void tst_QGuiApplication::keyboardModifiers() { int argc = 0; QGuiApplication app(argc, 0); + const QRect screenGeometry = QGuiApplication::primaryScreen()->availableVirtualGeometry(); + + QScopedPointer<QWindow> window(new QWindow); + window->resize(windowSize, windowSize); + window->setFramePosition(QPoint(screenGeometry.left() + spacing, screenGeometry.top() + spacing)); + window->setTitle(QStringLiteral("keyboardModifiers")); - QWindow *window = new QWindow; window->show(); - QVERIFY(QTest::qWaitForWindowExposed(window)); + QVERIFY(QTest::qWaitForWindowExposed(window.data())); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); // mouse events QPoint center = window->geometry().center(); - QTest::mouseEvent(QTest::MousePress, window, Qt::LeftButton, Qt::NoModifier, center); + QTest::mouseEvent(QTest::MousePress, window.data(), Qt::LeftButton, Qt::NoModifier, center); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QTest::mouseEvent(QTest::MouseRelease, window, Qt::LeftButton, Qt::NoModifier, center); + QTest::mouseEvent(QTest::MouseRelease, window.data(), Qt::LeftButton, Qt::NoModifier, center); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QTest::mouseEvent(QTest::MousePress, window, Qt::RightButton, Qt::ControlModifier, center); + QTest::mouseEvent(QTest::MousePress, window.data(), Qt::RightButton, Qt::ControlModifier, center); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); - QTest::mouseEvent(QTest::MouseRelease, window, Qt::RightButton, Qt::ControlModifier, center); + QTest::mouseEvent(QTest::MouseRelease, window.data(), Qt::RightButton, Qt::ControlModifier, center); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); // shortcut events - QWindowSystemInterface::tryHandleShortcutEvent(window, Qt::Key_5, Qt::MetaModifier); + QWindowSystemInterface::tryHandleShortcutEvent(window.data(), Qt::Key_5, Qt::MetaModifier); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::MetaModifier); - QWindowSystemInterface::tryHandleShortcutEvent(window, Qt::Key_Period, Qt::NoModifier); + QWindowSystemInterface::tryHandleShortcutEvent(window.data(), Qt::Key_Period, Qt::NoModifier); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QWindowSystemInterface::tryHandleShortcutEvent(window, Qt::Key_0, Qt::ControlModifier); + QWindowSystemInterface::tryHandleShortcutEvent(window.data(), Qt::Key_0, Qt::ControlModifier); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); // key events - QTest::keyEvent(QTest::Press, window, Qt::Key_C); + QTest::keyEvent(QTest::Press, window.data(), Qt::Key_C); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QTest::keyEvent(QTest::Release, window, Qt::Key_C); + QTest::keyEvent(QTest::Release, window.data(), Qt::Key_C); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QTest::keyEvent(QTest::Press, window, Qt::Key_U, Qt::ControlModifier); + QTest::keyEvent(QTest::Press, window.data(), Qt::Key_U, Qt::ControlModifier); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); - QTest::keyEvent(QTest::Release, window, Qt::Key_U, Qt::ControlModifier); + QTest::keyEvent(QTest::Release, window.data(), Qt::Key_U, Qt::ControlModifier); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); - QTest::keyEvent(QTest::Press, window, Qt::Key_T); + QTest::keyEvent(QTest::Press, window.data(), Qt::Key_T); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QTest::keyEvent(QTest::Release, window, Qt::Key_T); + QTest::keyEvent(QTest::Release, window.data(), Qt::Key_T); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QTest::keyEvent(QTest::Press, window, Qt::Key_E, Qt::ControlModifier); + QTest::keyEvent(QTest::Press, window.data(), Qt::Key_E, Qt::ControlModifier); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); - QTest::keyEvent(QTest::Release, window, Qt::Key_E, Qt::ControlModifier); + QTest::keyEvent(QTest::Release, window.data(), Qt::Key_E, Qt::ControlModifier); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); // wheel events QPoint global = window->mapToGlobal(center); QPoint delta(0, 1); - QWindowSystemInterface::handleWheelEvent(window, center, global, delta, delta, Qt::NoModifier); + QWindowSystemInterface::handleWheelEvent(window.data(), center, global, delta, delta, Qt::NoModifier); QWindowSystemInterface::sendWindowSystemEvents(QEventLoop::AllEvents); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); - QWindowSystemInterface::handleWheelEvent(window, center, global, delta, delta, Qt::AltModifier); + QWindowSystemInterface::handleWheelEvent(window.data(), center, global, delta, delta, Qt::AltModifier); QWindowSystemInterface::sendWindowSystemEvents(QEventLoop::AllEvents); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::AltModifier); - QWindowSystemInterface::handleWheelEvent(window, center, global, delta, delta, Qt::ControlModifier); + QWindowSystemInterface::handleWheelEvent(window.data(), center, global, delta, delta, Qt::ControlModifier); QWindowSystemInterface::sendWindowSystemEvents(QEventLoop::AllEvents); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::ControlModifier); @@ -323,12 +357,11 @@ void tst_QGuiApplication::keyboardModifiers() QList<const QTouchDevice *> touchDevices = QTouchDevice::devices(); if (!touchDevices.isEmpty()) { QTouchDevice *touchDevice = const_cast<QTouchDevice *>(touchDevices.first()); - QTest::touchEvent(window, touchDevice).press(1, center).release(1, center); + QTest::touchEvent(window.data(), touchDevice).press(1, center).release(1, center); QCOMPARE(QGuiApplication::keyboardModifiers(), Qt::NoModifier); } window->close(); - delete window; } class BlockableWindow : public QWindow @@ -374,27 +407,55 @@ void tst_QGuiApplication::modalWindow() { int argc = 0; QGuiApplication app(argc, 0); - - BlockableWindow *window1 = new BlockableWindow; - - BlockableWindow *window2 = new BlockableWindow; - - BlockableWindow *windowModalWindow1 = new BlockableWindow; - windowModalWindow1->setTransientParent(window1); + const QRect screenGeometry = QGuiApplication::primaryScreen()->availableVirtualGeometry(); + + int x = screenGeometry.left() + spacing; + int y = screenGeometry.top() + spacing; + + QScopedPointer<BlockableWindow> window1(new BlockableWindow); + window1->setTitle(QStringLiteral("window1")); + window1->resize(windowSize, windowSize); + window1->setFramePosition(QPoint(x, y)); + x += spacing + windowSize; + + QScopedPointer<BlockableWindow> window2(new BlockableWindow); + window2->setTitle(QStringLiteral("window2")); + window2->resize(windowSize, windowSize); + window2->setFramePosition(QPoint(x, y)); + x += spacing + windowSize; + + QScopedPointer<BlockableWindow> windowModalWindow1(new BlockableWindow); + windowModalWindow1->setTitle(QStringLiteral("windowModalWindow1")); + windowModalWindow1->setTransientParent(window1.data()); windowModalWindow1->setModality(Qt::WindowModal); + windowModalWindow1->resize(windowSize, windowSize); + windowModalWindow1->setFramePosition(QPoint(x, y)); + x += spacing + windowSize; - BlockableWindow *windowModalWindow2 = new BlockableWindow; - windowModalWindow2->setTransientParent(windowModalWindow1); + QScopedPointer<BlockableWindow> windowModalWindow2(new BlockableWindow); + windowModalWindow2->setTitle(QStringLiteral("windowModalWindow2")); + windowModalWindow2->setTransientParent(windowModalWindow1.data()); windowModalWindow2->setModality(Qt::WindowModal); + windowModalWindow2->resize(windowSize, windowSize); + windowModalWindow2->setFramePosition(QPoint(x, y)); + x = screenGeometry.left() + spacing; + y += spacing + windowSize; - BlockableWindow *applicationModalWindow1 = new BlockableWindow; + QScopedPointer<BlockableWindow> applicationModalWindow1(new BlockableWindow); + applicationModalWindow1->setTitle(QStringLiteral("applicationModalWindow1")); applicationModalWindow1->setModality(Qt::ApplicationModal); + applicationModalWindow1->resize(windowSize, windowSize); + applicationModalWindow1->setFramePosition(QPoint(x, y)); + +#ifndef QT_NO_CURSOR // Get the mouse cursor out of the way since we are manually sending enter/leave. + QCursor::setPos(QPoint(x + 2 * spacing + windowSize, y)); +#endif // show the 2 windows, nothing is blocked window1->show(); window2->show(); - QVERIFY(QTest::qWaitForWindowExposed(window1)); - QVERIFY(QTest::qWaitForWindowExposed(window2)); + QVERIFY(QTest::qWaitForWindowExposed(window1.data())); + QVERIFY(QTest::qWaitForWindowExposed(window2.data())); QCOMPARE(app.modalWindow(), static_cast<QWindow *>(0)); QCOMPARE(window1->blocked, 0); QCOMPARE(window2->blocked, 0); @@ -403,14 +464,14 @@ void tst_QGuiApplication::modalWindow() QCOMPARE(applicationModalWindow1->blocked, 0); // enter mouse in window1 - QWindowSystemInterface::handleEnterEvent(window1); + QWindowSystemInterface::handleEnterEvent(window1.data()); QGuiApplication::processEvents(); QCOMPARE(window1->enters, 1); QCOMPARE(window1->leaves, 0); // show applicationModalWindow1, everything is blocked applicationModalWindow1->show(); - QCOMPARE(app.modalWindow(), applicationModalWindow1); + QCOMPARE(app.modalWindow(), applicationModalWindow1.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 1); QCOMPARE(windowModalWindow1->blocked, 1); @@ -428,9 +489,9 @@ void tst_QGuiApplication::modalWindow() window1->resetCounts(); // Try entering/leaving blocked window2 - no events should reach it - QWindowSystemInterface::handleEnterEvent(window2); + QWindowSystemInterface::handleEnterEvent(window2.data()); QGuiApplication::processEvents(); - QWindowSystemInterface::handleLeaveEvent(window2); + QWindowSystemInterface::handleLeaveEvent(window2.data()); QGuiApplication::processEvents(); QCOMPARE(window2->enters, 0); QCOMPARE(window2->leaves, 0); @@ -445,14 +506,14 @@ void tst_QGuiApplication::modalWindow() QCOMPARE(applicationModalWindow1->blocked, 0); // Enter window2 - should not be blocked - QWindowSystemInterface::handleEnterEvent(window2); + QWindowSystemInterface::handleEnterEvent(window2.data()); QGuiApplication::processEvents(); QCOMPARE(window2->enters, 1); QCOMPARE(window2->leaves, 0); // show the windowModalWindow1, only window1 is blocked windowModalWindow1->show(); - QCOMPARE(app.modalWindow(), windowModalWindow1); + QCOMPARE(app.modalWindow(), windowModalWindow1.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 0); @@ -470,7 +531,7 @@ void tst_QGuiApplication::modalWindow() // show the windowModalWindow2, windowModalWindow1 is blocked as well windowModalWindow2->show(); - QCOMPARE(app.modalWindow(), windowModalWindow2); + QCOMPARE(app.modalWindow(), windowModalWindow2.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 1); @@ -479,7 +540,7 @@ void tst_QGuiApplication::modalWindow() // hide windowModalWindow1, nothing is unblocked windowModalWindow1->hide(); - QCOMPARE(app.modalWindow(), windowModalWindow2); + QCOMPARE(app.modalWindow(), windowModalWindow2.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 1); @@ -497,7 +558,7 @@ void tst_QGuiApplication::modalWindow() // show windowModalWindow1 again, window1 is blocked windowModalWindow1->show(); - QCOMPARE(app.modalWindow(), windowModalWindow1); + QCOMPARE(app.modalWindow(), windowModalWindow1.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 0); @@ -506,7 +567,7 @@ void tst_QGuiApplication::modalWindow() // show windowModalWindow2 again, windowModalWindow1 is also blocked windowModalWindow2->show(); - QCOMPARE(app.modalWindow(), windowModalWindow2); + QCOMPARE(app.modalWindow(), windowModalWindow2.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 1); @@ -515,7 +576,7 @@ void tst_QGuiApplication::modalWindow() // show applicationModalWindow1, everything is blocked applicationModalWindow1->show(); - QCOMPARE(app.modalWindow(), applicationModalWindow1); + QCOMPARE(app.modalWindow(), applicationModalWindow1.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 1); QCOMPARE(windowModalWindow1->blocked, 1); @@ -535,7 +596,7 @@ void tst_QGuiApplication::modalWindow() // hide applicationModalWindow1, windowModalWindow1 and window1 are blocked applicationModalWindow1->hide(); - QCOMPARE(app.modalWindow(), windowModalWindow2); + QCOMPARE(app.modalWindow(), windowModalWindow2.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 1); @@ -544,7 +605,7 @@ void tst_QGuiApplication::modalWindow() // hide windowModalWindow2, window1 is blocked windowModalWindow2->hide(); - QCOMPARE(app.modalWindow(), windowModalWindow1); + QCOMPARE(app.modalWindow(), windowModalWindow1.data()); QCOMPARE(window1->blocked, 1); QCOMPARE(window2->blocked, 0); QCOMPARE(windowModalWindow1->blocked, 0); @@ -562,12 +623,6 @@ void tst_QGuiApplication::modalWindow() window2->hide(); window1->hide(); - - delete applicationModalWindow1; - delete windowModalWindow2; - delete windowModalWindow1; - delete window2; - delete window1; } void tst_QGuiApplication::quitOnLastWindowClosed() @@ -575,6 +630,7 @@ void tst_QGuiApplication::quitOnLastWindowClosed() { int argc = 0; QGuiApplication app(argc, 0); + const QRect screenGeometry = QGuiApplication::primaryScreen()->availableVirtualGeometry(); QTimer timer; timer.setInterval(100); @@ -582,18 +638,25 @@ void tst_QGuiApplication::quitOnLastWindowClosed() QSignalSpy spy(&app, SIGNAL(aboutToQuit())); QSignalSpy spy2(&timer, SIGNAL(timeout())); - QPointer<QWindow> mainWindow = new QWindow; - QPointer<QWindow> dialog = new QWindow; + QWindow mainWindow; + mainWindow.setTitle(QStringLiteral("quitOnLastWindowClosedMainWindow")); + mainWindow.resize(windowSize, windowSize); + mainWindow.setFramePosition(QPoint(screenGeometry.left() + spacing, screenGeometry.top() + spacing)); - dialog->setTransientParent(mainWindow); + QWindow dialog; + dialog.setTransientParent(&mainWindow); + dialog.setTitle(QStringLiteral("quitOnLastWindowClosedDialog")); + dialog.resize(windowSize, windowSize); + dialog.setFramePosition(QPoint(screenGeometry.left() + 2 * spacing + windowSize, screenGeometry.top() + spacing)); QVERIFY(app.quitOnLastWindowClosed()); - mainWindow->show(); - dialog->show(); + mainWindow.show(); + dialog.show(); + QVERIFY(QTest::qWaitForWindowExposed(&dialog)); timer.start(); - QTimer::singleShot(1000, mainWindow, SLOT(close())); // This should quit the application + QTimer::singleShot(1000, &mainWindow, SLOT(close())); // This should quit the application QTimer::singleShot(2000, &app, SLOT(quit())); // This makes sure we quit even if it didn't app.exec(); @@ -604,6 +667,7 @@ void tst_QGuiApplication::quitOnLastWindowClosed() { int argc = 0; QGuiApplication app(argc, 0); + const QRect screenGeometry = QGuiApplication::primaryScreen()->availableVirtualGeometry(); QTimer timer; timer.setInterval(100); @@ -611,17 +675,25 @@ void tst_QGuiApplication::quitOnLastWindowClosed() QSignalSpy spy(&app, SIGNAL(aboutToQuit())); QSignalSpy spy2(&timer, SIGNAL(timeout())); - QPointer<QWindow> mainWindow = new QWindow; - QPointer<QWindow> dialog = new QWindow; + QWindow mainWindow; + mainWindow.setTitle(QStringLiteral("quitOnLastWindowClosedMainWindow")); + mainWindow.resize(windowSize, windowSize); + mainWindow.setFramePosition(QPoint(screenGeometry.left() + spacing, screenGeometry.top() + spacing)); + + QWindow dialog; + dialog.setTitle(QStringLiteral("quitOnLastWindowClosedDialog")); + dialog.resize(windowSize, windowSize); + dialog.setFramePosition(QPoint(screenGeometry.left() + 2 * spacing + windowSize, screenGeometry.top() + spacing)); - QVERIFY(!dialog->transientParent()); + QVERIFY(!dialog.transientParent()); QVERIFY(app.quitOnLastWindowClosed()); - mainWindow->show(); - dialog->show(); + mainWindow.show(); + dialog.show(); + QVERIFY(QTest::qWaitForWindowExposed(&dialog)); timer.start(); - QTimer::singleShot(1000, mainWindow, SLOT(close())); // This should not quit the application + QTimer::singleShot(1000, &mainWindow, SLOT(close())); // This should not quit the application QTimer::singleShot(2000, &app, SLOT(quit())); app.exec(); diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index d34ab069c3..b4208949b0 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -170,13 +170,6 @@ void tst_QWindow::eventOrderOnShow() void tst_QWindow::positioning() { -#ifdef Q_OS_MAC - // the fullscreen animation delay on OS X Lion also causes failures in - // the isActive() test below, so it's best to just skip it for now - QSKIP("Multiple failures in this test on Mac OS X, see QTBUG-23059"); -#endif - - if (!QGuiApplicationPrivate::platformIntegration()->hasCapability( QPlatformIntegration::NonFullScreenWindows)) { QSKIP("This platform does not support non-fullscreen windows"); @@ -210,6 +203,9 @@ void tst_QWindow::positioning() window.setWindowState(Qt::WindowFullScreen); QCoreApplication::processEvents(); +#ifdef Q_OS_MACX + QEXPECT_FAIL("", "Multiple failures in this test on Mac OS X, see QTBUG-23059", Abort); +#endif QTRY_COMPARE(window.received(QEvent::Resize), 2); window.setWindowState(Qt::WindowNoState); @@ -223,7 +219,7 @@ void tst_QWindow::positioning() // if our positioning is actually fully respected by the window manager // test whether it correctly handles frame positioning as well if (originalPos == geometry.topLeft() && (originalMargins.top() != 0 || originalMargins.left() != 0)) { - QPoint framePos(40, 40); + QPoint framePos = QGuiApplication::primaryScreen()->availableVirtualGeometry().topLeft() + QPoint(40, 40); window.reset(); window.setFramePosition(framePos); diff --git a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp index 8b4e209b1b..56dcdd5698 100644 --- a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp +++ b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp @@ -82,6 +82,7 @@ void tst_qdesktopservices::openUrl() QCOMPARE(QDesktopServices::openUrl(QUrl()), false); #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) // this test is only valid on windows on other systems it might mean open a new document in the application handling .file + QTest::ignoreMessage(QtWarningMsg, "ShellExecute 'file://invalid.file' failed (error 3)."); QCOMPARE(QDesktopServices::openUrl(QUrl("file://invalid.file")), false); #endif } |