controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemelistmodel/unittest_cpthemelistmodel.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemelistmodel/unittest_cpthemelistmodel.cpp Wed Sep 29 10:09:58 2010 +0800
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors: XENT-MV
+*
+* Description: unit tests for the CpThemeListModel class from themeplugin
+*
+*/
+
+#include <QtTest/QtTest>
+
+#include "cpthemelistmodel.h"
+
+class TestCpThemeListModel : public QObject
+{
+ Q_OBJECT
+
+private slots:
+
+ void testConstructor();
+ void testRowCount();
+ void testData();
+ void testIndexOf();
+};
+
+
+void TestCpThemeListModel::testConstructor()
+{
+
+ CpThemeListModel *obj = new CpThemeListModel();
+
+
+ QVERIFY (obj != 0 );
+ QVERIFY (obj->rowCount() > 0);
+
+ delete obj;
+
+}
+
+void TestCpThemeListModel::testRowCount()
+{
+ CpThemeListModel *themeModel = new CpThemeListModel();
+ QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
+ QVERIFY(themeModel->rowCount() >= allThemes.size());
+}
+
+void TestCpThemeListModel::testData()
+{
+ CpThemeListModel *themeModel = new CpThemeListModel();
+ QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
+
+ QModelIndex index = themeModel->index(0,0, QModelIndex());
+
+ //Check theme name (first) and theme path (second). Skipping icons for now.
+ QCOMPARE(themeModel->data(index, Qt::DisplayRole).toString(), allThemes.at(0).first);
+ QCOMPARE(themeModel->data(index, CpThemeListModel::ItemDataRole).toString(), allThemes.at(0).second);
+
+
+}
+
+void TestCpThemeListModel::testIndexOf()
+{
+ CpThemeListModel *themeModel = new CpThemeListModel();
+ QList<QPair<QString, QString> > allThemes = CpThemeUtil::availableThemes();
+
+ CpThemeInfo *themeInfo = CpThemeUtil::buildThemeInfo(allThemes.at(1).second, allThemes.at(1).first);
+
+ int index = themeModel->indexOf(*themeInfo);
+
+ QVERIFY(index == 1);
+
+}
+QTEST_MAIN(TestCpThemeListModel)
+#include "unittest_cpthemelistmodel.moc"
+