summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorStanislav Yelenskiy <qt@devstas.com>2020-09-25 00:10:03 +0200
committerStanislav Yelenskiy <qt@devstas.com>2020-10-21 07:18:28 +0000
commit9f9275f82f6117c18eadee289c7df525aab187ee (patch)
tree3da8b4c8a400035adc8565c7acec856e4c44656b /tests
parenta02ea26b469a32fbdcd9ce777dd46aeacc5cd82f (diff)
QTabBar test: refactor: extract checkPositions helper function
Extract checkPositions helper function to re-use in the new test. Task-number: QTBUG-86898 Change-Id: I5c8241b5701cd8c8c3e21607c385217d4b75e728 Reviewed-by: Jordi Pujol Foyo <jordi@vikingsoftware.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp53
1 files changed, 31 insertions, 22 deletions
diff --git a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
index c8e399f0f8..db94e03ff4 100644
--- a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
+++ b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
@@ -35,6 +35,8 @@
#include <qstyle.h>
#include <qstyleoption.h>
+class TabBar;
+
class tst_QTabBar : public QObject
{
Q_OBJECT
@@ -94,6 +96,9 @@ private slots:
void autoHide();
void mouseReleaseOutsideTabBar();
+
+private:
+ void checkPositions(const TabBar &tabbar, const QList<int> &positions);
};
// Testing get/set functions
@@ -210,6 +215,14 @@ void tst_QTabBar::testCurrentChanged()
QCOMPARE(spy.count(), expectedCount);
}
+class TabBar : public QTabBar
+{
+public:
+ using QTabBar::initStyleOption;
+ using QTabBar::moveTab;
+ using QTabBar::QTabBar;
+};
+
void tst_QTabBar::insertAtCurrentIndex()
{
QTabBar tabBar;
@@ -282,52 +295,36 @@ 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()
{
TabBar tabbar;
- auto checkPositions = [&tabbar](const QList<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});
+ checkPositions(tabbar,
+ { 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});
+ checkPositions(tabbar,
+ { 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});
+ checkPositions(tabbar, { 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});
+ checkPositions(tabbar, { QStyleOptionTab::OnlyOneTab });
QCOMPARE(tabbar.currentIndex(), 0);
sizeHint = tabbar.sizeHint();
QVERIFY(sizeHint.width() < prevSizeHint.width());
@@ -834,5 +831,17 @@ void tst_QTabBar::mouseReleaseOutsideTabBar()
QTRY_VERIFY(repaintChecker.repainted);
}
+void tst_QTabBar::checkPositions(const TabBar &tabbar, const QList<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++));
+ }
+}
+
QTEST_MAIN(tst_QTabBar)
#include "tst_qtabbar.moc"