summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-01-29 16:57:12 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-01-29 16:57:27 +0100
commita1dbdcbd6e818118f5fc28cdd39e47a02380adbd (patch)
tree0d813d9d72baeb1b5f7be048e775896c73f134f5 /tests/auto/widgets
parent67ea445f09db9feea4e863faa12c45fb007f53a4 (diff)
parent4cbadf699838406d14366ce61deec03cf45113f7 (diff)
Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts: src/corelib/Qt5CoreConfigExtras.cmake.in src/corelib/Qt5CoreMacros.cmake src/dbus/Qt5DBusConfigExtras.cmake.in src/widgets/Qt5WidgetsConfigExtras.cmake.in Change-Id: Ib782f3b177c38b2cce83beebe15be9c0baa578f7
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r--tests/auto/widgets/dialogs/qdialog/BLACKLIST4
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog2/BLACKLIST4
-rw-r--r--tests/auto/widgets/dialogs/qprogressdialog/BLACKLIST2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp10
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp1
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp46
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/BLACKLIST2
-rw-r--r--tests/auto/widgets/kernel/qwidget/BLACKLIST4
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp28
-rw-r--r--tests/auto/widgets/util/qscroller/BLACKLIST5
-rw-r--r--tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp11
-rw-r--r--tests/auto/widgets/widgets/qdoublespinbox/BLACKLIST4
-rw-r--r--tests/auto/widgets/widgets/qmdiarea/BLACKLIST11
-rw-r--r--tests/auto/widgets/widgets/qmenu/BLACKLIST10
-rw-r--r--tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp56
-rw-r--r--tests/auto/widgets/widgets/qopenglwidget/qopenglwidget.pro2
-rw-r--r--tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp36
-rw-r--r--tests/auto/widgets/widgets/qtoolbutton/BLACKLIST2
18 files changed, 170 insertions, 68 deletions
diff --git a/tests/auto/widgets/dialogs/qdialog/BLACKLIST b/tests/auto/widgets/dialogs/qdialog/BLACKLIST
index 72e3dff6dd..ad86386895 100644
--- a/tests/auto/widgets/dialogs/qdialog/BLACKLIST
+++ b/tests/auto/widgets/dialogs/qdialog/BLACKLIST
@@ -1,4 +1,4 @@
[snapToDefaultButton]
-osx-10.14
+macos
[showFullScreen]
-osx-10.13 ci
+macos ci
diff --git a/tests/auto/widgets/dialogs/qfiledialog2/BLACKLIST b/tests/auto/widgets/dialogs/qfiledialog2/BLACKLIST
index 875855b59e..9e14db48d0 100644
--- a/tests/auto/widgets/dialogs/qfiledialog2/BLACKLIST
+++ b/tests/auto/widgets/dialogs/qfiledialog2/BLACKLIST
@@ -1,4 +1,2 @@
[QTBUG4419_lineEditSelectAll]
-osx-10.12
-osx-10.14
-osx-10.13
+macos
diff --git a/tests/auto/widgets/dialogs/qprogressdialog/BLACKLIST b/tests/auto/widgets/dialogs/qprogressdialog/BLACKLIST
index 2b784414cd..92f9680e7e 100644
--- a/tests/auto/widgets/dialogs/qprogressdialog/BLACKLIST
+++ b/tests/auto/widgets/dialogs/qprogressdialog/BLACKLIST
@@ -1,2 +1,2 @@
[autoShow]
-osx-10.13
+macos
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
index 0010718d3e..4206ce1f87 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -8016,11 +8016,21 @@ public:
//Doesn't use the extended style option so the exposed rect is the boundingRect
if (!(flags() & QGraphicsItem::ItemUsesExtendedStyleOption)) {
QCOMPARE(option->exposedRect, boundingRect());
+#if QT_DEPRECATED_SINCE(5, 13)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
QCOMPARE(option->matrix, QMatrix());
+QT_WARNING_POP
+#endif
} else {
QVERIFY(option->exposedRect != QRect());
QVERIFY(option->exposedRect != boundingRect());
+#if QT_DEPRECATED_SINCE(5, 13)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
QCOMPARE(option->matrix, sceneTransform().toAffine());
+QT_WARNING_POP
+#endif
}
}
QGraphicsRectItem::paint(painter, option, widget);
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp
index ed79904ed8..0d8e5b4d54 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp
@@ -31,7 +31,6 @@
#include <qgraphicsitemanimation.h>
#include <QtCore/qtimeline.h>
-#include <QtGui/qmatrix.h>
class tst_QGraphicsItemAnimation : public QObject
{
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index d521c6f11c..bd027f9eb1 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
@@ -67,7 +67,7 @@ using namespace QTestPrivate;
Q_DECLARE_METATYPE(ExpectedValueDescription)
Q_DECLARE_METATYPE(QList<int>)
Q_DECLARE_METATYPE(QList<QRectF>)
-Q_DECLARE_METATYPE(QMatrix)
+Q_DECLARE_METATYPE(QTransform)
Q_DECLARE_METATYPE(QPainterPath)
Q_DECLARE_METATYPE(Qt::ScrollBarPolicy)
Q_DECLARE_METATYPE(ScrollBarCount)
@@ -291,7 +291,7 @@ void tst_QGraphicsView::construction()
QCOMPARE(view.sceneRect(), QRectF());
QVERIFY(view.viewport());
QCOMPARE(view.viewport()->metaObject()->className(), "QWidget");
- QCOMPARE(view.matrix(), QMatrix());
+ QCOMPARE(view.transform(), QTransform());
QVERIFY(view.items().isEmpty());
QVERIFY(view.items(QPoint()).isEmpty());
QVERIFY(view.items(QRect()).isEmpty());
@@ -1208,37 +1208,37 @@ void tst_QGraphicsView::matrix()
void tst_QGraphicsView::matrix_convenience()
{
QGraphicsView view;
- QCOMPARE(view.matrix(), QMatrix());
+ QCOMPARE(view.transform(), QTransform());
// Check the convenience functions
view.rotate(90);
- QCOMPARE(view.matrix(), QMatrix().rotate(90));
+ QCOMPARE(view.transform(), QTransform().rotate(90));
view.scale(2, 2);
- QCOMPARE(view.matrix(), QMatrix().scale(2, 2) * QMatrix().rotate(90));
+ QCOMPARE(view.transform(), QTransform().scale(2, 2) * QTransform().rotate(90));
view.shear(1.2, 1.2);
- QCOMPARE(view.matrix(), QMatrix().shear(1.2, 1.2) * QMatrix().scale(2, 2) * QMatrix().rotate(90));
+ QCOMPARE(view.transform(), QTransform().shear(1.2, 1.2) * QTransform().scale(2, 2) * QTransform().rotate(90));
view.translate(1, 1);
- QCOMPARE(view.matrix(), QMatrix().translate(1, 1) * QMatrix().shear(1.2, 1.2) * QMatrix().scale(2, 2) * QMatrix().rotate(90));
+ QCOMPARE(view.transform(), QTransform().translate(1, 1) * QTransform().shear(1.2, 1.2) * QTransform().scale(2, 2) * QTransform().rotate(90));
}
void tst_QGraphicsView::matrix_combine()
{
// Check matrix combining
QGraphicsView view;
- QCOMPARE(view.matrix(), QMatrix());
- view.setMatrix(QMatrix().rotate(90), true);
- view.setMatrix(QMatrix().rotate(90), true);
- view.setMatrix(QMatrix().rotate(90), true);
- view.setMatrix(QMatrix().rotate(90), true);
- QCOMPARE(view.matrix(), QMatrix());
-
- view.resetMatrix();
- QCOMPARE(view.matrix(), QMatrix());
- view.setMatrix(QMatrix().rotate(90), false);
- view.setMatrix(QMatrix().rotate(90), false);
- view.setMatrix(QMatrix().rotate(90), false);
- view.setMatrix(QMatrix().rotate(90), false);
- QCOMPARE(view.matrix(), QMatrix().rotate(90));
+ QCOMPARE(view.transform(), QTransform());
+ view.setTransform(QTransform().rotate(90), true);
+ view.setTransform(QTransform().rotate(90), true);
+ view.setTransform(QTransform().rotate(90), true);
+ view.setTransform(QTransform().rotate(90), true);
+ QCOMPARE(view.transform(), QTransform());
+
+ view.resetTransform();
+ QCOMPARE(view.transform(), QTransform());
+ view.setTransform(QTransform().rotate(90), false);
+ view.setTransform(QTransform().rotate(90), false);
+ view.setTransform(QTransform().rotate(90), false);
+ view.setTransform(QTransform().rotate(90), false);
+ QCOMPARE(view.transform(), QTransform().rotate(90));
}
void tst_QGraphicsView::centerOnPoint()
@@ -2125,8 +2125,8 @@ void tst_QGraphicsView::mapFromScenePath()
QPainterPath path2;
path2.addPolygon(polygon2);
- QPolygonF pathPoly = view.mapFromScene(path).toFillPolygon();
- QPolygonF path2Poly = path2.toFillPolygon();
+ QPolygonF pathPoly = view.mapFromScene(path).toFillPolygon(QTransform());
+ QPolygonF path2Poly = path2.toFillPolygon(QTransform());
for (int i = 0; i < pathPoly.size(); ++i) {
QVERIFY(qAbs(pathPoly[i].x() - path2Poly[i].x()) < 3);
diff --git a/tests/auto/widgets/itemviews/qabstractitemview/BLACKLIST b/tests/auto/widgets/itemviews/qabstractitemview/BLACKLIST
new file mode 100644
index 0000000000..1233bec166
--- /dev/null
+++ b/tests/auto/widgets/itemviews/qabstractitemview/BLACKLIST
@@ -0,0 +1,2 @@
+[task200665_itemEntered]
+macos # Can't move cursor (QTBUG-76312)
diff --git a/tests/auto/widgets/kernel/qwidget/BLACKLIST b/tests/auto/widgets/kernel/qwidget/BLACKLIST
index be19d8fd0b..cf35491ec0 100644
--- a/tests/auto/widgets/kernel/qwidget/BLACKLIST
+++ b/tests/auto/widgets/kernel/qwidget/BLACKLIST
@@ -24,9 +24,7 @@ opensuse-42.3
[childEvents]
macos
[renderInvisible]
-osx-10.12
-osx-10.11
-osx-10.14
+macos
[optimizedResizeMove]
osx
[optimizedResize_topLevel]
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index dd747a8616..c015bf85d0 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -72,6 +72,7 @@
#include <QtWidgets/QGraphicsProxyWidget>
#include <QtGui/qwindow.h>
#include <qtimer.h>
+#include <QtWidgets/QDoubleSpinBox>
#if defined(Q_OS_OSX)
#include "tst_qwidget_mac_helpers.h" // Abstract the ObjC stuff out so not everyone must run an ObjC++ compile.
@@ -187,6 +188,7 @@ private slots:
void tabOrderNoChange2();
void appFocusWidgetWithFocusProxyLater();
void appFocusWidgetWhenLosingFocusProxy();
+ void explicitTabOrderWithComplexWidget();
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
void activation();
#endif
@@ -2110,6 +2112,32 @@ void tst_QWidget::appFocusWidgetWhenLosingFocusProxy()
QCOMPARE(QApplication::focusWidget(), lineEdit);
}
+void tst_QWidget::explicitTabOrderWithComplexWidget()
+{
+ // Check that handling tab/backtab with a widget comprimised of other widgets
+ // handles tabbing correctly
+ Container window;
+ auto lineEditOne = new QLineEdit;
+ window.box->addWidget(lineEditOne);
+ auto lineEditTwo = new QLineEdit;
+ window.box->addWidget(lineEditTwo);
+ QWidget::setTabOrder(lineEditOne, lineEditTwo);
+ lineEditOne->setFocus();
+ window.show();
+ QApplication::setActiveWindow(&window);
+ QVERIFY(QTest::qWaitForWindowActive(&window));
+ QTRY_COMPARE(QApplication::focusWidget(), lineEditOne);
+
+ window.tab();
+ QTRY_COMPARE(QApplication::focusWidget(), lineEditTwo);
+ window.tab();
+ QTRY_COMPARE(QApplication::focusWidget(), lineEditOne);
+ window.backTab();
+ QTRY_COMPARE(QApplication::focusWidget(), lineEditTwo);
+ window.backTab();
+ QTRY_COMPARE(QApplication::focusWidget(), lineEditOne);
+}
+
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
void tst_QWidget::activation()
{
diff --git a/tests/auto/widgets/util/qscroller/BLACKLIST b/tests/auto/widgets/util/qscroller/BLACKLIST
new file mode 100644
index 0000000000..347ab6440b
--- /dev/null
+++ b/tests/auto/widgets/util/qscroller/BLACKLIST
@@ -0,0 +1,5 @@
+[scrollTo]
+macos
+
+[scroll]
+macos
diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
index ea1b330152..3878e7ccb2 100644
--- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
@@ -2756,10 +2756,7 @@ void tst_QComboBox::resetModel()
class StringListModel : public QStringListModel
{
public:
- StringListModel(const QStringList &list) : QStringListModel(list)
- {
- }
-
+ using QStringListModel::QStringListModel;
void reset()
{
QStringListModel::beginResetModel();
@@ -2767,8 +2764,8 @@ void tst_QComboBox::resetModel()
}
};
QComboBox cb;
- StringListModel model( QStringList() << "1" << "2");
- QSignalSpy spy(&cb, SIGNAL(currentIndexChanged(int)));
+ StringListModel model({"1", "2"});
+ QSignalSpy spy(&cb, QOverload<int>::of(&QComboBox::currentIndexChanged));
QCOMPARE(spy.count(), 0);
QCOMPARE(cb.currentIndex(), -1); //no selection
@@ -2779,7 +2776,7 @@ void tst_QComboBox::resetModel()
model.reset();
QCOMPARE(spy.count(), 2);
- QCOMPARE(cb.currentIndex(), -1); //no selection
+ QCOMPARE(cb.currentIndex(), 0); //first item selected
}
diff --git a/tests/auto/widgets/widgets/qdoublespinbox/BLACKLIST b/tests/auto/widgets/widgets/qdoublespinbox/BLACKLIST
index 8f5648d0f9..9da179e365 100644
--- a/tests/auto/widgets/widgets/qdoublespinbox/BLACKLIST
+++ b/tests/auto/widgets/widgets/qdoublespinbox/BLACKLIST
@@ -1,4 +1,2 @@
[editingFinished]
-osx-10.12
-osx-10.14
-osx-10.13
+macos
diff --git a/tests/auto/widgets/widgets/qmdiarea/BLACKLIST b/tests/auto/widgets/widgets/qmdiarea/BLACKLIST
index 1dd876ea97..6010772be7 100644
--- a/tests/auto/widgets/widgets/qmdiarea/BLACKLIST
+++ b/tests/auto/widgets/widgets/qmdiarea/BLACKLIST
@@ -2,15 +2,12 @@
ubuntu-16.04
rhel-7.6
opensuse-leap
-osx-10.11
-osx-10.13
+macos
ubuntu-18.04
-osx-10.14
+macos
rhel-7.4
-osx-10.12
+macos
opensuse-42.3
[resizeTimer]
-osx-10.12
-osx-10.14
-osx-10.13
+macos
diff --git a/tests/auto/widgets/widgets/qmenu/BLACKLIST b/tests/auto/widgets/widgets/qmenu/BLACKLIST
index ba9c184a67..5677172f8e 100644
--- a/tests/auto/widgets/widgets/qmenu/BLACKLIST
+++ b/tests/auto/widgets/widgets/qmenu/BLACKLIST
@@ -1,14 +1,12 @@
[task258920_mouseBorder]
-osx-10.14
-osx-10.13
+macos
[layoutDirection]
-osx-10.12
-osx-10.13
+macos
# Fails when enabling synchronous expose events QTBUG-62092
[pushButtonPopulateOnAboutToShow]
-osx-10.13
+macos
[tearOff]
-osx-10.14
+macos
[activeSubMenuPosition]
winrt
[submenuTearOffDontClose]
diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
index 207327f073..8ad4324c9e 100644
--- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
+++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
@@ -40,6 +40,7 @@
#include <QWidgetAction>
#include <QDesktopWidget>
#include <QScreen>
+#include <QSpinBox>
#include <qdialog.h>
#include <qmenu.h>
@@ -114,6 +115,7 @@ private slots:
void QTBUG30595_rtl_submenu();
void QTBUG20403_nested_popup_on_shortcut_trigger();
void QTBUG47515_widgetActionEnterLeave();
+ void QTBUG8122_widgetActionCrashOnClose();
void QTBUG_10735_crashWithDialog();
#ifdef Q_OS_MAC
@@ -1352,6 +1354,60 @@ void tst_QMenu::QTBUG47515_widgetActionEnterLeave()
}
}
+void tst_QMenu::QTBUG8122_widgetActionCrashOnClose()
+{
+ if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
+ QSKIP("Window activation is not supported");
+ if (QGuiApplication::platformName() == QLatin1String("cocoa"))
+ QSKIP("See QTBUG-63031");
+#ifdef Q_OS_WINRT
+ QSKIP("WinRT does not support QTest::mouseMove");
+#endif
+
+ const QRect availableGeometry = QGuiApplication::primaryScreen()->availableGeometry();
+ QRect geometry(QPoint(), availableGeometry.size() / 3);
+ geometry.moveCenter(availableGeometry.center());
+ QPoint pointOutsideMenu = geometry.bottomRight() - QPoint(5, 5);
+
+ QMainWindow topLevel;
+ topLevel.setGeometry(geometry);
+
+ auto menuBar = topLevel.menuBar();
+ auto menu = menuBar->addMenu("Menu");
+ auto wAct = new QWidgetAction(menu);
+ auto spinBox1 = new QSpinBox(menu);
+ wAct->setDefaultWidget(spinBox1);
+ menu->addAction(wAct);
+ auto subMenu = menu->addMenu("Submenu");
+ auto nextMenuAct = menu->addMenu(subMenu);
+ auto wAct2 = new QWidgetAction(menu);
+ auto spinBox2 = new QSpinBox(menu);
+ wAct2->setDefaultWidget(spinBox2);
+ subMenu->addAction(wAct2);
+ QObject::connect(spinBox2, &QSpinBox::editingFinished, menu, &QMenu::hide);
+
+ topLevel.show();
+ topLevel.setWindowTitle(QTest::currentTestFunction());
+ QVERIFY(QTest::qWaitForWindowActive(&topLevel));
+ QWindow *topLevelWindow = topLevel.windowHandle();
+ QVERIFY(topLevelWindow);
+
+ const QPoint menuActionPos = menuBar->mapTo(&topLevel, menuBar->actionGeometry(menu->menuAction()).center());
+ QTest::mouseClick(topLevelWindow, Qt::LeftButton, Qt::KeyboardModifiers(), menuActionPos);
+ QVERIFY(QTest::qWaitForWindowExposed(menu));
+
+ QPoint w1Center = topLevel.mapFromGlobal(spinBox1->mapToGlobal(spinBox1->rect().center()));
+ QTest::mouseClick(topLevelWindow, Qt::LeftButton, Qt::KeyboardModifiers(), w1Center);
+ menu->setActiveAction(nextMenuAct);
+ QVERIFY(QTest::qWaitForWindowExposed(subMenu));
+
+ QPoint w2Center = topLevel.mapFromGlobal(spinBox2->mapToGlobal(spinBox2->rect().center()));
+ QTest::mouseClick(topLevelWindow, Qt::LeftButton, Qt::KeyboardModifiers(), w2Center);
+ QTest::mouseMove(topLevelWindow, topLevel.mapFromGlobal(pointOutsideMenu));
+ QTRY_VERIFY(menu->isHidden());
+}
+
+
class MyMenu : public QMenu
{
Q_OBJECT
diff --git a/tests/auto/widgets/widgets/qopenglwidget/qopenglwidget.pro b/tests/auto/widgets/widgets/qopenglwidget/qopenglwidget.pro
index 039f5a71b8..f78dc510bf 100644
--- a/tests/auto/widgets/widgets/qopenglwidget/qopenglwidget.pro
+++ b/tests/auto/widgets/widgets/qopenglwidget/qopenglwidget.pro
@@ -1,5 +1,5 @@
CONFIG += testcase
TARGET = tst_qopenglwidget
-QT += opengl gui-private core-private testlib widgets
+QT += opengl opengl-private gui-private core-private testlib widgets
SOURCES += tst_qopenglwidget.cpp
diff --git a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
index bc1496d0f6..e27600bad2 100644
--- a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
+++ b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
@@ -33,6 +33,7 @@
#include <qpushbutton.h>
#include <qstyle.h>
+#include <qstyleoption.h>
class tst_QTabBar : public QObject
{
@@ -279,30 +280,53 @@ void tst_QTabBar::hideTab()
QTEST(tabbar.currentIndex(), "finalIndex");
}
+class TabBar : public QTabBar
+{
+public:
+ using QTabBar::QTabBar;
+ using QTabBar::initStyleOption;
+ using QTabBar::moveTab;
+};
+
void tst_QTabBar::hideAllTabs()
{
- QTabBar tabbar;
+ TabBar tabbar;
+ auto checkPositions = [&tabbar](const QVector<int> &positions)
+ {
+ QStyleOptionTab option;
+ int iPos = 0;
+ for (int i = 0; i < tabbar.count(); ++i) {
+ if (!tabbar.isTabVisible(i))
+ continue;
+ tabbar.initStyleOption(&option, i);
+ QCOMPARE(option.position, positions.at(iPos++));
+ }
+ };
tabbar.addTab("foo");
tabbar.addTab("bar");
tabbar.addTab("baz");
tabbar.setCurrentIndex(0);
+ checkPositions({QStyleOptionTab::Beginning, QStyleOptionTab::Middle, QStyleOptionTab::End});
// Check we don't crash trying to hide an unexistant tab
QSize prevSizeHint = tabbar.sizeHint();
tabbar.setTabVisible(3, false);
+ checkPositions({QStyleOptionTab::Beginning, QStyleOptionTab::Middle, QStyleOptionTab::End});
QCOMPARE(tabbar.currentIndex(), 0);
QSize sizeHint = tabbar.sizeHint();
QVERIFY(sizeHint.width() == prevSizeHint.width());
prevSizeHint = sizeHint;
tabbar.setTabVisible(1, false);
+ checkPositions({QStyleOptionTab::Beginning, QStyleOptionTab::End});
QCOMPARE(tabbar.currentIndex(), 0);
sizeHint = tabbar.sizeHint();
QVERIFY(sizeHint.width() < prevSizeHint.width());
prevSizeHint = sizeHint;
tabbar.setTabVisible(2, false);
+ checkPositions({QStyleOptionTab::OnlyOneTab});
QCOMPARE(tabbar.currentIndex(), 0);
sizeHint = tabbar.sizeHint();
QVERIFY(sizeHint.width() < prevSizeHint.width());
@@ -571,14 +595,6 @@ void tst_QTabBar::selectionBehaviorOnRemove()
QCOMPARE(tabbar.currentIndex(), expected);
}
-class TabBar : public QTabBar
-{
- Q_OBJECT
-public:
- void callMoveTab(int from, int to){ moveTab(from, to); }
-};
-
-
Q_DECLARE_METATYPE(QTabBar::Shape)
void tst_QTabBar::moveTab_data()
{
@@ -613,7 +629,7 @@ void tst_QTabBar::moveTab()
bar.setShape(shape);
while(--tabs >= 0)
bar.addTab(QString::number(tabs));
- bar.callMoveTab(from, to);
+ bar.moveTab(from, to);
}
diff --git a/tests/auto/widgets/widgets/qtoolbutton/BLACKLIST b/tests/auto/widgets/widgets/qtoolbutton/BLACKLIST
index 52ba36562f..315e179d0a 100644
--- a/tests/auto/widgets/widgets/qtoolbutton/BLACKLIST
+++ b/tests/auto/widgets/widgets/qtoolbutton/BLACKLIST
@@ -1,2 +1,2 @@
[task176137_autoRepeatOfAction]
-osx-10.13
+macos