diff options
Diffstat (limited to 'tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp')
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 68ccaef43f..38a45117a1 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -51,6 +51,7 @@ #include <qdesktopwidget.h> #include <private/qwidget_p.h> #include <private/qapplication_p.h> +#include <private/qhighdpiscaling_p.h> #include <qcalendarwidget.h> #include <qmainwindow.h> #include <qdockwidget.h> @@ -84,6 +85,7 @@ # include <QtGui/private/qguiapplication_p.h> #include <qpa/qplatformnativeinterface.h> #include <qpa/qplatformintegration.h> +#include <private/qhighdpiscaling_p.h> static HWND winHandleOf(const QWidget *w) { @@ -193,6 +195,11 @@ static QByteArray msgComparisonFailed(T v1, const char *op, T v2) return s.toLocal8Bit(); } +static inline bool qFuzzyCompare(const QPoint &p1, const QPoint p2) +{ + return (p1 - p2).manhattanLength() <= 2; +} + class tst_QWidget : public QObject { Q_OBJECT @@ -1906,7 +1913,7 @@ void tst_QWidget::windowState() widget1.setWindowState(widget1.windowState() ^ Qt::WindowMaximized); QTest::qWait(100); QVERIFY(!(widget1.windowState() & Qt::WindowMaximized)); - QTRY_COMPARE(widget1.pos(), pos); + QTRY_VERIFY(qFuzzyCompare(widget1.pos(), pos)); QCOMPARE(widget1.windowHandle()->windowState(), Qt::WindowNoState); widget1.setWindowState(Qt::WindowMinimized); @@ -1927,7 +1934,7 @@ void tst_QWidget::windowState() widget1.setWindowState(widget1.windowState() ^ Qt::WindowMaximized); QTest::qWait(100); QVERIFY(!(widget1.windowState() & (Qt::WindowMinimized|Qt::WindowMaximized))); - QTRY_COMPARE(widget1.pos(), pos); + QTRY_VERIFY(qFuzzyCompare(widget1.pos(), pos)); QCOMPARE(widget1.windowHandle()->windowState(), Qt::WindowNoState); widget1.setWindowState(Qt::WindowFullScreen); @@ -1948,7 +1955,7 @@ void tst_QWidget::windowState() widget1.setWindowState(Qt::WindowNoState); QTest::qWait(100); VERIFY_STATE(Qt::WindowNoState); - QTRY_COMPARE(widget1.pos(), pos); + QTRY_VERIFY(qFuzzyCompare(widget1.pos(), pos)); QCOMPARE(widget1.windowHandle()->windowState(), Qt::WindowNoState); widget1.setWindowState(Qt::WindowFullScreen); @@ -1981,7 +1988,7 @@ void tst_QWidget::windowState() QVERIFY(!(widget1.windowState() & stateMask)); QCOMPARE(widget1.windowHandle()->windowState(), Qt::WindowNoState); - QTRY_COMPARE(widget1.pos(), pos); + QTRY_VERIFY(qFuzzyCompare(widget1.pos(), pos)); QTRY_COMPARE(widget1.size(), size); } @@ -3676,6 +3683,8 @@ void tst_QWidget::optimizedResizeMove() void tst_QWidget::optimizedResize_topLevel() { + if (QHighDpiScaling::isActive()) + QSKIP("Skip due to rounding errors in the regions."); StaticWidget topLevel; topLevel.gotPaintEvent = false; topLevel.show(); |