diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-04-30 09:33:19 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-30 09:33:19 +0200 |
commit | c917579a15d60a7b70c5fc5f00f6451da7c4e608 (patch) | |
tree | 1c89cd1f66ff5147e494a6493e81239e4a644911 /tests/auto/widgets | |
parent | ac06bfdc76414c8d8c727ff5278b1baafe610860 (diff) | |
parent | 85e3c53e5c5e2de993c90ece324a68d0ff62f417 (diff) |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'tests/auto/widgets')
3 files changed, 74 insertions, 11 deletions
diff --git a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp index 3710645514..dfb780c8fa 100644 --- a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp +++ b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp @@ -201,6 +201,7 @@ private slots: void taskQTBUG_7774_RtoLVisualRegionForSelection(); void taskQTBUG_8777_scrollToSpans(); void taskQTBUG_10169_sizeHintForRow(); + void taskQTBUG_30653_doItemsLayout(); void mouseWheel_data(); void mouseWheel(); @@ -4124,5 +4125,38 @@ void tst_QTableView::viewOptions() QVERIFY(options.showDecorationSelected); } +void tst_QTableView::taskQTBUG_30653_doItemsLayout() +{ + QWidget topLevel; + QtTestTableView view(&topLevel); + + QtTestTableModel model(5, 5); + view.setModel(&model); + + QtTestItemDelegate delegate; + delegate.hint = QSize(50, 50); + view.setItemDelegate(&delegate); + + view.resizeRowsToContents(); + view.resizeColumnsToContents(); + + // show two and half rows/cols + int extraWidth = view.verticalHeader()->sizeHint().width() + view.verticalScrollBar()->sizeHint().width(); + int extraHeight = view.horizontalHeader()->sizeHint().height() + view.horizontalScrollBar()->sizeHint().height(); + view.resize(125 + extraWidth, 125 + extraHeight); + + topLevel.show(); + QVERIFY(QTest::qWaitForWindowExposed(&topLevel)); + + // the offset after scrollToBottom() and doItemsLayout() should not differ + // as the view content should stay aligned to the last section + view.scrollToBottom(); + int scrollToBottomOffset = view.verticalHeader()->offset(); + view.doItemsLayout(); + int doItemsLayoutOffset = view.verticalHeader()->offset(); + + QCOMPARE(scrollToBottomOffset, doItemsLayoutOffset); +} + QTEST_MAIN(tst_QTableView) #include "tst_qtableview.moc" diff --git a/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp b/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp index 227a31b10d..84d796f657 100644 --- a/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp +++ b/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp @@ -68,6 +68,7 @@ public slots: private slots: void insertSpacerItem(); + void insertLayout(); void sizeHint(); void sizeConstraints(); void setGeometry(); @@ -166,6 +167,26 @@ void tst_QBoxLayout::insertSpacerItem() window->show(); } +void tst_QBoxLayout::insertLayout() +{ + QWidget *window = new QWidget; + QVBoxLayout *vbox = new QVBoxLayout(window); + QVBoxLayout *dummyParentLayout = new QVBoxLayout; + QHBoxLayout *subLayout = new QHBoxLayout; + dummyParentLayout->addLayout(subLayout); + QCOMPARE(subLayout->parent(), dummyParentLayout); + QCOMPARE(dummyParentLayout->count(), 1); + + // add subLayout to another layout + QTest::ignoreMessage(QtWarningMsg, "QLayout::addChildLayout: layout \"\" already has a parent"); + vbox->addLayout(subLayout); + QCOMPARE((subLayout->parent() == vbox), (vbox->count() == 1)); + + delete dummyParentLayout; + delete window; +} + + void tst_QBoxLayout::sizeHint() { QWidget *window = new QWidget; diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 69d890fb7a..25e1dc3fa0 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -2089,11 +2089,14 @@ public: void tst_QWidget::resizeEvent() { + QSKIP("QTBUG-30744"); + { QWidget wParent; wParent.resize(200, 200); ResizeWidget wChild(&wParent); wParent.show(); + QTest::qWaitForWindowExposed(&wParent); QCOMPARE (wChild.m_resizeEventCount, 1); // initial resize event before paint wParent.hide(); QSize safeSize(640,480); @@ -2109,6 +2112,7 @@ void tst_QWidget::resizeEvent() ResizeWidget wTopLevel; wTopLevel.resize(200, 200); wTopLevel.show(); + QTest::qWaitForWindowExposed(&wTopLevel); QCOMPARE (wTopLevel.m_resizeEventCount, 1); // initial resize event before paint for toplevels wTopLevel.hide(); QSize safeSize(640,480); @@ -2117,6 +2121,7 @@ void tst_QWidget::resizeEvent() wTopLevel.resize(safeSize); QCOMPARE (wTopLevel.m_resizeEventCount, 1); wTopLevel.show(); + QTest::qWaitForWindowExposed(&wTopLevel); QCOMPARE (wTopLevel.m_resizeEventCount, 2); } } @@ -4428,11 +4433,8 @@ void tst_QWidget::setWindowGeometry() widget.setGeometry(rect); widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); - if (m_platform == QStringLiteral("windows")) { - QEXPECT_FAIL("130,100 0x200, flags 0", "QTBUG-26424", Continue); - QEXPECT_FAIL("130,50 0x0, flags 0", "QTBUG-26424", Continue); - } + if (rect.isValid()) + QVERIFY(QTest::qWaitForWindowExposed(&widget)); QTRY_COMPARE(widget.geometry(), rect); // setGeometry() while shown @@ -4462,7 +4464,8 @@ void tst_QWidget::setWindowGeometry() // show() again, geometry() should still be the same widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); + if (rect.isValid()) + QVERIFY(QTest::qWaitForWindowExposed(&widget)); QTRY_COMPARE(widget.geometry(), rect); // final hide(), again geometry() should be unchanged @@ -4478,7 +4481,8 @@ void tst_QWidget::setWindowGeometry() widget.setWindowFlags(Qt::WindowFlags(windowFlags)); widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); + if (rect.isValid()) + QVERIFY(QTest::qWaitForWindowExposed(&widget)); widget.setGeometry(rect); QTest::qWait(10); QTRY_COMPARE(widget.geometry(), rect); @@ -4510,7 +4514,8 @@ void tst_QWidget::setWindowGeometry() // show() again, geometry() should still be the same widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); + if (rect.isValid()) + QVERIFY(QTest::qWaitForWindowExposed(&widget)); QTest::qWait(10); QTRY_COMPARE(widget.geometry(), rect); @@ -4655,7 +4660,8 @@ void tst_QWidget::windowMoveResize() // show() again, pos() should be the same widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); + if (rect.isValid()) + QVERIFY(QTest::qWaitForWindowExposed(&widget)); QApplication::processEvents(); QTRY_COMPARE(widget.pos(), rect.topLeft()); QTRY_COMPARE(widget.size(), rect.size()); @@ -4674,7 +4680,8 @@ void tst_QWidget::windowMoveResize() widget.setWindowFlags(Qt::WindowFlags(windowFlags)); widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); + if (rect.isValid()) + QVERIFY(QTest::qWaitForWindowExposed(&widget)); QApplication::processEvents(); widget.move(rect.topLeft()); widget.resize(rect.size()); @@ -4724,7 +4731,8 @@ void tst_QWidget::windowMoveResize() // show() again, pos() should be the same widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); + if (rect.isValid()) + QVERIFY(QTest::qWaitForWindowExposed(&widget)); QTest::qWait(10); QTRY_COMPARE(widget.pos(), rect.topLeft()); QTRY_COMPARE(widget.size(), rect.size()); |