diff options
Diffstat (limited to 'tests/auto/widgets/widgets')
-rw-r--r-- | tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp | 19 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp | 10 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp | 15 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp | 14 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp | 15 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp | 28 |
6 files changed, 94 insertions, 7 deletions
diff --git a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp index a4d4e5d717..433fbc2bfe 100644 --- a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp +++ b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp @@ -46,6 +46,7 @@ #include <QStyleOptionGroupBox> #include <QVBoxLayout> #include <QRadioButton> +#include <QDialog> #include "qgroupbox.h" @@ -71,6 +72,7 @@ private slots: void setChecked_data(); void setChecked(); void enabledPropagation(); + void enabledChildPropagation(); void sizeHint(); void toggled(); void clicked_data(); @@ -288,6 +290,23 @@ void tst_QGroupBox::enabledPropagation() delete testWidget; } +void tst_QGroupBox::enabledChildPropagation() +{ + QGroupBox testWidget; + testWidget.setCheckable(true); + testWidget.setChecked(true); + // The value of isChecked() should be reflected in the isEnabled() of newly + // added child widgets, but not in top level widgets. + QWidget *childWidget = new QWidget(&testWidget); + QVERIFY(childWidget->isEnabled()); + QDialog *dialog = new QDialog(&testWidget); + QVERIFY(dialog->isEnabled()); + testWidget.setChecked(false); + childWidget = new QWidget(&testWidget); + QVERIFY(!childWidget->isEnabled()); + dialog = new QDialog(&testWidget); + QVERIFY(dialog->isEnabled()); +} void tst_QGroupBox::sizeHint() { diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index 36f14cb1ba..0094a1112b 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the test suite of the Qt Toolkit. @@ -4185,8 +4185,14 @@ void tst_QLineEdit::clearButton() QTRY_COMPARE(filterModel->rowCount(), 2); // matches 'aa', 'ab' QTest::keyClick(filterLineEdit, 'b'); QTRY_COMPARE(filterModel->rowCount(), 1); // matches 'ab' - QTest::mouseClick(clearButton, Qt::LeftButton, 0, QRect(QPoint(0, 0), clearButton->size()).center()); + QSignalSpy spyEdited(filterLineEdit, &QLineEdit::textEdited); + const QPoint clearButtonCenterPos = QRect(QPoint(0, 0), clearButton->size()).center(); + QTest::mouseClick(clearButton, Qt::LeftButton, 0, clearButtonCenterPos); + QCOMPARE(spyEdited.count(), 1); + QTest::mouseClick(clearButton, Qt::LeftButton, 0, clearButtonCenterPos); QTRY_COMPARE(filterModel->rowCount(), 3); + QCoreApplication::processEvents(); + QCOMPARE(spyEdited.count(), 1); filterLineEdit->setReadOnly(true); // QTBUG-34315 QVERIFY(!clearButton->isEnabled()); diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp index 59021108a2..4f611cd06f 100644 --- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp @@ -237,6 +237,8 @@ public: tst_QMdiArea(); public slots: void initTestCase(); + void cleanup(); + protected slots: void activeChanged(QMdiSubWindow *child); @@ -306,6 +308,11 @@ void tst_QMdiArea::initTestCase() #endif } +void tst_QMdiArea::cleanup() +{ + QVERIFY(QApplication::topLevelWidgets().isEmpty()); +} + // Old QWorkspace tests void tst_QMdiArea::activeChanged(QMdiSubWindow *child) { @@ -1271,6 +1278,7 @@ void tst_QMdiArea::removeSubWindow_2() mdiArea.addSubWindow(subWindow); QVERIFY(numberOfConnectedSignals(subWindow) >= 2); subWindow->setParent(0); + QScopedPointer<MySubWindow> subWindowGuard(subWindow); QCOMPARE(numberOfConnectedSignals(subWindow), 0); } @@ -2340,7 +2348,7 @@ void tst_QMdiArea::setViewMode() QVERIFY(QTest::qWaitForWindowExposed(&mdiArea)); QMdiSubWindow *activeSubWindow = mdiArea.activeSubWindow(); - const QList<QMdiSubWindow *> subWindows = mdiArea.subWindowList(); + QList<QMdiSubWindow *> subWindows = mdiArea.subWindowList(); // Default. QVERIFY(!activeSubWindow->isMaximized()); @@ -2410,9 +2418,12 @@ void tst_QMdiArea::setViewMode() // Remove sub-windows and make sure the tab is removed. foreach (QMdiSubWindow *subWindow, subWindows) { - if (subWindow != activeSubWindow) + if (subWindow != activeSubWindow) { mdiArea.removeSubWindow(subWindow); + delete subWindow; + } } + subWindows.clear(); QCOMPARE(tabBar->count(), 1); // Go back to default (QMdiArea::SubWindowView). diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp index b4be24f0e0..3b891152b1 100644 --- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp +++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the test suite of the Qt Toolkit. @@ -55,6 +55,7 @@ #include <qmenu.h> #include <qstyle.h> +#include <QTimer> #include <qdebug.h> Q_DECLARE_METATYPE(Qt::Key); @@ -132,6 +133,7 @@ private: enum { num_builtins = 10 }; QAction *activated, *highlighted, *builtins[num_builtins]; QString statustip; + bool m_onStatusTipTimerExecuted; }; // Testing get/set functions @@ -158,6 +160,7 @@ void tst_QMenu::getSetCheck() } tst_QMenu::tst_QMenu() + : m_onStatusTipTimerExecuted(false) { QApplication::setEffectEnabled(Qt::UI_AnimateMenu, false); } @@ -193,6 +196,7 @@ void tst_QMenu::init() { activated = highlighted = 0; lastMenu = 0; + m_onStatusTipTimerExecuted = false; } void tst_QMenu::createActions() @@ -492,8 +496,13 @@ void tst_QMenu::statusTip() //because showMenu calls QMenu::exec, we need to use a singleshot //to continue the test - QTimer::singleShot(200,this, SLOT(onStatusTipTimer())); + QTimer timer; + timer.setSingleShot(true); + connect(&timer, &QTimer::timeout, this, &tst_QMenu::onStatusTipTimer); + timer.setInterval(200); + timer.start(); btn->showMenu(); + QVERIFY(m_onStatusTipTimerExecuted); QVERIFY(statustip.isEmpty()); } @@ -513,6 +522,7 @@ void tst_QMenu::onStatusTipTimer() QCOMPARE(st, QString("sub action")); QVERIFY(menu->isVisible() == false); + m_onStatusTipTimerExecuted = true; } void tst_QMenu::widgetActionFocus() diff --git a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp index 21034e8f1b..350ae23d8a 100644 --- a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp +++ b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp @@ -393,18 +393,31 @@ void tst_QSpinBox::valueChangedHelper(int value) actualValues << value; } +class MySpinBox: public QSpinBox +{ +public: + MySpinBox(QWidget *parent = 0) : QSpinBox(parent) {} + + void changeEvent(QEvent *ev) { + eventsReceived.append(ev->type()); + } + QList<QEvent::Type> eventsReceived; +}; + void tst_QSpinBox::setReadOnly() { - QSpinBox spin(0); + MySpinBox spin(0); spin.show(); QTest::keyClick(&spin, Qt::Key_Up); QCOMPARE(spin.value(), 1); spin.setReadOnly(true); + QCOMPARE(spin.eventsReceived, QList<QEvent::Type>() << QEvent::ReadOnlyChange); QTest::keyClick(&spin, Qt::Key_Up); QCOMPARE(spin.value(), 1); spin.stepBy(1); QCOMPARE(spin.value(), 2); spin.setReadOnly(false); + QCOMPARE(spin.eventsReceived, QList<QEvent::Type>() << QEvent::ReadOnlyChange << QEvent::ReadOnlyChange); QTest::keyClick(&spin, Qt::Key_Up); QCOMPARE(spin.value(), 3); } diff --git a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp index 06dd623368..fedf16271f 100644 --- a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp +++ b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp @@ -99,6 +99,7 @@ private slots: void taskQTBUG_10052_widgetLayoutWhenMoving(); void tabBarClicked(); + void autoHide(); }; // Testing get/set functions @@ -701,5 +702,32 @@ void tst_QTabBar::tabBarClicked() } } +void tst_QTabBar::autoHide() +{ + QTabBar tabBar; + QVERIFY(!tabBar.autoHide()); + QVERIFY(!tabBar.isVisible()); + tabBar.show(); + QVERIFY(tabBar.isVisible()); + tabBar.addTab("0"); + QVERIFY(tabBar.isVisible()); + tabBar.removeTab(0); + QVERIFY(tabBar.isVisible()); + + tabBar.setAutoHide(true); + QVERIFY(!tabBar.isVisible()); + tabBar.addTab("0"); + QVERIFY(!tabBar.isVisible()); + tabBar.addTab("1"); + QVERIFY(tabBar.isVisible()); + tabBar.removeTab(0); + QVERIFY(!tabBar.isVisible()); + tabBar.removeTab(0); + QVERIFY(!tabBar.isVisible()); + + tabBar.setAutoHide(false); + QVERIFY(tabBar.isVisible()); +} + QTEST_MAIN(tst_QTabBar) #include "tst_qtabbar.moc" |