diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index 892dc0899f..70446e803a 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -58,6 +58,7 @@ private slots: void setVisible(); void eventOrderOnShow(); void resizeEventAfterResize(); + void exposeEventOnShrink_QTBUG54040(); void mapGlobal(); void positioning_data(); void positioning(); @@ -373,6 +374,24 @@ void tst_QWindow::resizeEventAfterResize() QTRY_COMPARE(window.received(QEvent::Resize), 2); } +void tst_QWindow::exposeEventOnShrink_QTBUG54040() +{ + Window window; + window.setGeometry(QRect(m_availableTopLeft + QPoint(80, 80), m_testWindowSize)); + window.setTitle(QTest::currentTestFunction()); + window.showNormal(); + + QVERIFY(QTest::qWaitForWindowExposed(&window)); + + const int initialExposeCount = window.received(QEvent::Expose); + window.resize(window.width(), window.height() - 5); + QTRY_COMPARE(window.received(QEvent::Expose), initialExposeCount + 1); + window.resize(window.width() - 5, window.height()); + QTRY_COMPARE(window.received(QEvent::Expose), initialExposeCount + 2); + window.resize(window.width() - 5, window.height() - 5); + QTRY_COMPARE(window.received(QEvent::Expose), initialExposeCount + 3); +} + void tst_QWindow::positioning_data() { QTest::addColumn<int>("windowflags"); |