From c46eb44b5ea13b23f136cb29ff25fd6e7ecd4ac8 2012-08-01 07:22:03 From: Jani Honkonen Date: 2012-08-01 07:22:03 Subject: [PATCH] Adding series destruction tests for bar & pie Bar is not passing at the moment. --- diff --git a/tests/auto/qbarseries/tst_qbarseries.cpp b/tests/auto/qbarseries/tst_qbarseries.cpp index d5409d1..33830f3 100644 --- a/tests/auto/qbarseries/tst_qbarseries.cpp +++ b/tests/auto/qbarseries/tst_qbarseries.cpp @@ -61,6 +61,7 @@ private slots: void mousehovered_data(); void mousehovered(); void clearWithAnimations(); + void destruction(); private: QBarSeries* m_barseries; @@ -565,6 +566,21 @@ void tst_QBarSeries::clearWithAnimations() series->clear(); } +void tst_QBarSeries::destruction() +{ + // add a barset + QBarSeries *series = new QBarSeries(); + QBarSet *set = new QBarSet("testset"); + QSignalSpy spy1(set, SIGNAL(destroyed())); + series->append(set); + + // delete the series + delete series; + + // check that series deletes the set + QCOMPARE(spy1.count(), 1); +} + QTEST_MAIN(tst_QBarSeries) #include "tst_qbarseries.moc" diff --git a/tests/auto/qpieseries/tst_qpieseries.cpp b/tests/auto/qpieseries/tst_qpieseries.cpp index 63db844..e44e07c 100644 --- a/tests/auto/qpieseries/tst_qpieseries.cpp +++ b/tests/auto/qpieseries/tst_qpieseries.cpp @@ -54,6 +54,7 @@ private slots: void clickedSignal(); void hoverSignal(); void sliceSeries(); + void destruction(); private: void verifyCalculatedData(const QPieSeries &series, bool *ok); @@ -283,6 +284,7 @@ void tst_qpieseries::insert() for (int i=0; icount(); i++) { QCOMPARE(m_series->slices().at(i)->value(), (qreal) i+1); QCOMPARE(m_series->slices().at(i)->label(), QString("slice ") + QString::number(i+1)); + QVERIFY(m_series->slices().at(i)->parent() == m_series); } } @@ -567,6 +569,26 @@ void tst_qpieseries::sliceSeries() QCOMPARE(slice->series(), m_series); } +void tst_qpieseries::destruction() +{ + // add some slices + QPieSlice *slice1 = m_series->append("slice 1", 1); + QPieSlice *slice2 = m_series->append("slice 2", 2); + QPieSlice *slice3 = m_series->append("slice 3", 3); + QSignalSpy spy1(slice1, SIGNAL(destroyed())); + QSignalSpy spy2(slice2, SIGNAL(destroyed())); + QSignalSpy spy3(slice3, SIGNAL(destroyed())); + + // destroy series + delete m_series; + m_series = 0; + + // check that series has destroyed its slices + QCOMPARE(spy1.count(), 1); + QCOMPARE(spy2.count(), 1); + QCOMPARE(spy3.count(), 1); +} + QTEST_MAIN(tst_qpieseries) #include "tst_qpieseries.moc"