diff options
Diffstat (limited to 'tests/auto/widgets/kernel')
-rw-r--r-- | tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp | 20 | ||||
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/BLACKLIST | 28 | ||||
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 20 |
3 files changed, 36 insertions, 32 deletions
diff --git a/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp b/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp index 8314dbedf5..b2650d1f32 100644 --- a/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp +++ b/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp @@ -56,6 +56,7 @@ private slots: void taskQTBUG_40609_addingWidgetToItsOwnLayout(); void taskQTBUG_40609_addingLayoutToItself(); void replaceWidget(); + void indexOf(); }; class CustomLayoutStyle : public QProxyStyle @@ -512,5 +513,24 @@ void tst_QBoxLayout::replaceWidget() QCOMPARE(boxLayout->indexOf(replaceTo), 1); } +void tst_QBoxLayout::indexOf() +{ + QWidget w; + auto outer = new QVBoxLayout(&w); + auto inner = new QHBoxLayout(); + outer->addLayout(inner); + auto widget1 = new QWidget(); + QWidget widget2; + inner->addWidget(widget1); + + QCOMPARE(inner->indexOf(widget1), 0); + QCOMPARE(inner->indexOf(&widget2), -1); + QCOMPARE(outer->indexOf(widget1), -1); + QCOMPARE(outer->indexOf(&widget2), -1); + QCOMPARE(outer->indexOf(outer), -1); + QCOMPARE(outer->indexOf(inner), 0); + QCOMPARE(inner->indexOf(inner->itemAt(0)), 0); +} + QTEST_MAIN(tst_QBoxLayout) #include "tst_qboxlayout.moc" diff --git a/tests/auto/widgets/kernel/qwidget/BLACKLIST b/tests/auto/widgets/kernel/qwidget/BLACKLIST index 6cebce26e8..ae2534a8c1 100644 --- a/tests/auto/widgets/kernel/qwidget/BLACKLIST +++ b/tests/auto/widgets/kernel/qwidget/BLACKLIST @@ -15,22 +15,15 @@ rhel-7.4 osx [focusProxyAndInputMethods] linux -[showMaximized] -osx -[setGeometry] -osx [raise] # QTBUG-68175 opensuse -osx -[resizeEvent] -osx [setWindowGeometry] osx [windowMoveResize] osx [childEvents] -osx +osx ci [renderInvisible] osx [optimizedResizeMove] @@ -42,27 +35,8 @@ osx [showMinimizedKeepsFocus] osx-10.11 ci osx-10.12 ci -[moveWindowInShowEvent:1] -osx -[moveWindowInShowEvent:2] -osx -[taskQTBUG_4055_sendSyntheticEnterLeave] -osx -[syntheticEnterLeave] -osx [maskedUpdate] -osx opensuse-42.3 -[hideOpaqueChildWhileHidden] -osx -[resizeStaticContentsChildWidget_QTBUG35282] -osx -[lower] -osx -[setClearAndResizeMask] -osx -[setToolTip] -osx [moveInResizeEvent] ubuntu-16.04 [moveChild:right] diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 47ffee1501..ff2d8fd191 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -9122,7 +9122,8 @@ void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave() void mouseMoveEvent(QMouseEvent *event) { QCOMPARE(event->button(), Qt::NoButton); - QCOMPARE(event->buttons(), Qt::MouseButtons(Qt::NoButton)); + QCOMPARE(event->buttons(), QApplication::mouseButtons()); + QCOMPARE(event->modifiers(), QApplication::keyboardModifiers()); ++numMouseMoveEvents; } void reset() { numEnterEvents = numMouseMoveEvents = 0; } @@ -9156,11 +9157,11 @@ void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave() child.setMouseTracking(true); child.show(); - // Make sure the child gets enter event and mouse move event. + // Make sure the child gets enter event. // Note that we verify event->button() and event->buttons() // in SELChild::mouseMoveEvent(). QTRY_COMPARE(child.numEnterEvents, 1); - QCOMPARE(child.numMouseMoveEvents, 1); + QCOMPARE(child.numMouseMoveEvents, 0); // Sending synthetic enter/leave trough the parent's mousePressEvent handler. parent.child = &child; @@ -9169,10 +9170,19 @@ void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave() child.reset(); QTest::mouseClick(&parent, Qt::LeftButton); - // Make sure the child gets enter event and one mouse move event. + // Make sure the child gets enter event. QTRY_COMPARE(child.numEnterEvents, 1); - QCOMPARE(child.numMouseMoveEvents, 1); + QCOMPARE(child.numMouseMoveEvents, 0); + + child.hide(); + child.reset(); + QTest::keyPress(&parent, Qt::Key_Shift); + QTest::mouseClick(&parent, Qt::LeftButton); + // Make sure the child gets enter event + QTRY_COMPARE(child.numEnterEvents, 1); + QCOMPARE(child.numMouseMoveEvents, 0); + QTest::keyRelease(&child, Qt::Key_Shift); child.hide(); child.reset(); child.setMouseTracking(false); |