diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-17 14:58:00 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-17 14:58:00 (GMT) |
commit | cb2980a09aefcc207eacb500d5a3c74f064859dd (patch) | |
tree | b119109514d04a7afa503ecd08a774483821c8d8 /tests/auto/modeltest/tst_modeltest.cpp | |
parent | 4109badc4321effeeb798dd101479be7dffdbe3d (diff) | |
parent | 5aa1cbcdacd19b2e526e358eddac1b7d55a994b5 (diff) | |
download | Qt-cb2980a09aefcc207eacb500d5a3c74f064859dd.zip Qt-cb2980a09aefcc207eacb500d5a3c74f064859dd.tar.gz Qt-cb2980a09aefcc207eacb500d5a3c74f064859dd.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qa-staging into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-qa-staging: (114 commits)
Fixed license header.
Ensure that recursive QMAKE_EXTRA_TARGETS use the correct makefile
Remove Q_ASSERT's from qsharedmemory autotest
Remove Q_ASSERT's from QNetworkReply autotest
Remove Q_ASSERT's from qabstractxmlnodemodel test
Remove Q_ASSERT from QXmlStream autotest
Remove Q_ASSERT from qxmlquery autotest
Remove Q_ASSERT's from QXmlStream autotest
Remove Q_ASSERT from QItemModel autotest
Remove Q_ASSERT's from qxmlquery autotest
Remove Q_ASSERT from qxmlquery autotest
Remove Q_ASSERT's from QXmlStream autotest
Remove Q_ASSERT from qabstractxmlnodemodel test
Remove Q_ASSERT from qscriptvaluegenerated test
Remove Q_ASSERT from QVariant autotest
Remove Q_ASSERT's from QTreeView autotest
Remove Q_ASSERT from qtesselator autotest
Remove unused function from qtessellator autotest
Remove Q_ASSERT from qscriptvaluegenerated test
Remove Q_ASSERT's from qscriptvaluegenerated test
...
Diffstat (limited to 'tests/auto/modeltest/tst_modeltest.cpp')
-rw-r--r-- | tests/auto/modeltest/tst_modeltest.cpp | 52 |
1 files changed, 42 insertions, 10 deletions
diff --git a/tests/auto/modeltest/tst_modeltest.cpp b/tests/auto/modeltest/tst_modeltest.cpp index a75fe5b..aedaffe 100644 --- a/tests/auto/modeltest/tst_modeltest.cpp +++ b/tests/auto/modeltest/tst_modeltest.cpp @@ -201,8 +201,10 @@ class ObservingObject : public QObject Q_OBJECT public: ObservingObject(AccessibleProxyModel *proxy, QObject *parent = 0) - : QObject(parent), - m_proxy(proxy) + : QObject(parent) + , m_proxy(proxy) + , storePersistentFailureCount(0) + , checkPersistentFailureCount(0) { connect(m_proxy, SIGNAL(layoutAboutToBeChanged()), SLOT(storePersistent())); connect(m_proxy, SIGNAL(layoutChanged()), SLOT(checkPersistent())); @@ -215,8 +217,14 @@ public slots: for (int row = 0; row < m_proxy->rowCount(parent); ++row) { QModelIndex proxyIndex = m_proxy->index(row, 0, parent); QModelIndex sourceIndex = m_proxy->mapToSource(proxyIndex); - Q_ASSERT(proxyIndex.isValid()); - Q_ASSERT(sourceIndex.isValid()); + if (!proxyIndex.isValid()) { + qWarning("%s: Invalid proxy index", Q_FUNC_INFO); + ++storePersistentFailureCount; + } + if (!sourceIndex.isValid()) { + qWarning("%s: invalid source index", Q_FUNC_INFO); + ++storePersistentFailureCount; + } m_persistentSourceIndexes.append(sourceIndex); m_persistentProxyIndexes.append(proxyIndex); if (m_proxy->hasChildren(proxyIndex)) @@ -226,12 +234,24 @@ public slots: void storePersistent() { - foreach(const QModelIndex &idx, m_persistentProxyIndexes) - Q_ASSERT(idx.isValid()); // This is called from layoutAboutToBeChanged. Persistent indexes should be valid - - Q_ASSERT(m_proxy->persistent().isEmpty()); + // This method is called from layoutAboutToBeChanged. Persistent indexes should be valid + foreach(const QModelIndex &idx, m_persistentProxyIndexes) + if (!idx.isValid()) { + qWarning("%s: persistentProxyIndexes contains invalid index", Q_FUNC_INFO); + ++storePersistentFailureCount; + } + + if (!m_proxy->persistent().isEmpty()) { + qWarning("%s: proxy should have no persistent indexes when storePersistent called", + Q_FUNC_INFO); + ++storePersistentFailureCount; + } storePersistent(QModelIndex()); - Q_ASSERT(!m_proxy->persistent().isEmpty()); + if (m_proxy->persistent().isEmpty()) { + qWarning("%s: proxy should have persistent index after storePersistent called", + Q_FUNC_INFO); + ++storePersistentFailureCount; + } } void checkPersistent() @@ -243,7 +263,10 @@ public slots: for (int row = 0; row < m_persistentProxyIndexes.size(); ++row) { QModelIndex updatedProxy = m_persistentProxyIndexes.at(row); QModelIndex updatedSource = m_persistentSourceIndexes.at(row); - QCOMPARE(m_proxy->mapToSource(updatedProxy), updatedSource); + if (m_proxy->mapToSource(updatedProxy) != updatedSource) { + qWarning("%s: check failed at row %d", Q_FUNC_INFO, row); + ++checkPersistentFailureCount; + } } m_persistentSourceIndexes.clear(); m_persistentProxyIndexes.clear(); @@ -253,6 +276,9 @@ private: AccessibleProxyModel *m_proxy; QList<QPersistentModelIndex> m_persistentSourceIndexes; QList<QPersistentModelIndex> m_persistentProxyIndexes; +public: + int storePersistentFailureCount; + int checkPersistentFailureCount; }; void tst_ModelTest::moveSourceItems() @@ -280,6 +306,9 @@ void tst_ModelTest::moveSourceItems() moveCommand->setDestAncestors(QList<int>() << 1); moveCommand->setDestRow(0); moveCommand->doCommand(); + + QCOMPARE(observer.storePersistentFailureCount, 0); + QCOMPARE(observer.checkPersistentFailureCount, 0); } void tst_ModelTest::testResetThroughProxy() @@ -302,6 +331,9 @@ void tst_ModelTest::testResetThroughProxy() ModelResetCommand *resetCommand = new ModelResetCommand(model, this); resetCommand->setNumCols(0); resetCommand->doCommand(); + + QCOMPARE(observer.storePersistentFailureCount, 0); + QCOMPARE(observer.checkPersistentFailureCount, 0); } |