summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-07-25 08:53:09 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-07-25 15:14:27 +0200
commit03ff5b35a5b852f56584484f449997f88e16668d (patch)
tree28813a3ac4c07d019f906002327eb9e2de6968b4 /tests
parent6a802158597ae8b58b8c8304465f62b5b02ce9ce (diff)
tst_qwidget: Fix top level widget leaks.
Fix tests widgets leaking widgets and ensure it stays that way by adding a check to cleanup(). Task-number: QTBUG-38858 Change-Id: I77a81d823c68cf0b4e51c2da55b1c473d6e4170b Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index 4252fb673b..1134b82a82 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -667,6 +667,8 @@ void tst_QWidget::init()
void tst_QWidget::cleanup()
{
+ // Only 'testwidget', do not leak any other widgets.
+ QCOMPARE(QApplication::topLevelWidgets().size(), 1);
}
// Helper class...
@@ -1211,7 +1213,7 @@ void tst_QWidget::isEnabledTo()
QVERIFY( grandChildWidget->isEnabledTo( childWidget ) );
QVERIFY( !grandChildWidget->isEnabledTo( testWidget ) );
- QMainWindow* childDialog = new QMainWindow(testWidget);
+ QScopedPointer<QMainWindow> childDialog(new QMainWindow(testWidget));
testWidget->setEnabled(false);
QVERIFY(!childDialog->isEnabled());
QVERIFY(childDialog->isEnabledTo(0));
@@ -2275,6 +2277,7 @@ void tst_QWidget::showMinimizedKeepsFocus()
QTRY_COMPARE(qApp->focusWidget(), child);
child->setParent(0);
+ QScopedPointer<QWidget> childGuard(child);
QCOMPARE(window.focusWidget(), static_cast<QWidget*>(0));
QCOMPARE(qApp->focusWidget(), static_cast<QWidget*>(0));
}
@@ -10211,11 +10214,11 @@ public:
void tst_QWidget::keyboardModifiers()
{
- KeyboardWidget* w = new KeyboardWidget;
- QTest::mouseClick(w, Qt::LeftButton, Qt::ControlModifier);
- QCOMPARE(w->m_eventCounter, 1);
- QCOMPARE(int(w->m_modifiers), int(Qt::ControlModifier));
- QCOMPARE(int(w->m_appModifiers), int(Qt::ControlModifier));
+ KeyboardWidget w;
+ QTest::mouseClick(&w, Qt::LeftButton, Qt::ControlModifier);
+ QCOMPARE(w.m_eventCounter, 1);
+ QCOMPARE(int(w.m_modifiers), int(Qt::ControlModifier));
+ QCOMPARE(int(w.m_appModifiers), int(Qt::ControlModifier));
}
class DClickWidget : public QWidget