diff options
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" |