diff options
Diffstat (limited to 'tests/auto/corelib/itemmodels/qitemmodel')
-rw-r--r-- | tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp | 43 | ||||
-rw-r--r-- | tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp | 8 |
2 files changed, 25 insertions, 26 deletions
diff --git a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp index ba143a31f8..e0e688cc3a 100644 --- a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp +++ b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp @@ -78,6 +78,9 @@ public: QList<test> tests; static void setupDatabase(); + +private: + QScopedPointer<QTemporaryDir> m_dirModelTempDir; }; @@ -306,18 +309,20 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model) } if (QDirModel *dirModel = qobject_cast<QDirModel *>(model)) { - if (!QDir::current().mkdir("test")) - qFatal("%s: cannot create directory %s", - Q_FUNC_INFO, - qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/test"))); + m_dirModelTempDir.reset(new QTemporaryDir); + if (!m_dirModelTempDir->isValid()) + qFatal("Cannot create temporary directory \"%s\": %s", + qPrintable(QDir::toNativeSeparators(m_dirModelTempDir->path())), + qPrintable(m_dirModelTempDir->errorString())); + + QDir tempDir(m_dirModelTempDir->path()); for (int i = 0; i < 26; ++i) { - QString subdir = QString("test/foo_%1").arg(i); - if (!QDir::current().mkdir(subdir)) - qFatal("%s: cannot create directory %s", - Q_FUNC_INFO, - qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/"+subdir))); + const QString subdir = QString("foo_") + QString::number(i); + if (!tempDir.mkdir(subdir)) + qFatal("Cannot create directory %s", + qPrintable(QDir::toNativeSeparators(tempDir.path() + QLatin1Char('/') +subdir))); } - return dirModel->index(QDir::currentPath()+"/test"); + return dirModel->index(tempDir.path()); } if (QSqlQueryModel *queryModel = qobject_cast<QSqlQueryModel *>(model)) { @@ -382,22 +387,8 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model) */ void ModelsToTest::cleanupTestArea(QAbstractItemModel *model) { - if (qobject_cast<QDirModel *>(model)) - { - if (QDir(QDir::currentPath()+"/test").exists()) - { - for (int i = 0; i < 26; ++i) { - QString subdir(QString("test/foo_%1").arg(i)); - if (!QDir::current().rmdir(subdir)) - qFatal("%s: cannot remove directory %s", - Q_FUNC_INFO, - qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/"+subdir))); - } - if (!QDir::current().rmdir("test")) - qFatal("%s: cannot remove directory %s", - Q_FUNC_INFO, - qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/test"))); - } + if (qobject_cast<QDirModel *>(model)) { + m_dirModelTempDir.reset(); } else if (qobject_cast<QSqlQueryModel *>(model)) { QSqlQuery q("DROP TABLE test"); } diff --git a/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp b/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp index 709b35b6e0..6971f7ef78 100644 --- a/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp +++ b/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp @@ -49,6 +49,9 @@ class tst_QItemModel : public QObject { Q_OBJECT +public: + tst_QItemModel(); + public slots: void init(); void cleanup(); @@ -124,6 +127,11 @@ private: bool insertRecursively; }; +tst_QItemModel::tst_QItemModel() +{ + qRegisterMetaType<QAbstractItemModel::LayoutChangeHint>(); +} + void tst_QItemModel::init() { testModels = new ModelsToTest(); |