diff options
author | Stanislav Yelenskiy <qt@devstas.com> | 2020-09-25 00:10:03 +0200 |
---|---|---|
committer | Stanislav Yelenskiy <qt@devstas.com> | 2020-10-21 07:18:28 +0000 |
commit | 9f9275f82f6117c18eadee289c7df525aab187ee (patch) | |
tree | 3da8b4c8a400035adc8565c7acec856e4c44656b /tests | |
parent | a02ea26b469a32fbdcd9ce777dd46aeacc5cd82f (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.cpp | 53 |
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" |