diff -r 0a74be98a8bc -r 10d0dd0e43f1 controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepreview/unittest_cpthemepreview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepreview/unittest_cpthemepreview.cpp Fri Apr 16 14:59:22 2010 +0300 @@ -0,0 +1,134 @@ +/* +* 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 CpThemePreview class from themeplugin +* +*/ + +#include + +#include "cpthemepreview.h" +#include "cpthemechanger.h" + +class TestCpThemePreview : public QObject +{ + Q_OBJECT + +private slots: + void init(); + + void testConstructor(); + void testConstructor2(); + void testSetThemeName(); + void testSetPreviewIcon(); + void testThemeSelected(); + + void cleanup(); + +private: + CpThemeChanger *mThemeChanger; +}; + +void TestCpThemePreview::init() +{ + mThemeChanger = new CpThemeChanger(); +} + +void TestCpThemePreview::cleanup() +{ + delete mThemeChanger; +} + +void TestCpThemePreview::testConstructor() +{ + CpThemePreview *obj = new CpThemePreview(); + + QVERIFY( obj != 0 ); + + delete obj; +} + +void TestCpThemePreview::testConstructor2() +{ + QList themeInfo = mThemeChanger->themes(); + + for (int i = 0; i < themeInfo.size(); ++i) { + QString name = themeInfo.at(i).themeName; + QString icon = themeInfo.at(i).iconPath; + + CpThemePreview *obj = new CpThemePreview(name, icon); + QVERIFY (obj != 0 ); + QCOMPARE(obj->themeName(), name); + + delete obj; + } + + // try with gibberish for the name and/or icon + QString name = QString("alzihgiaureh"); + QString icon = QString("ahilwvihln"); + CpThemePreview *obj = new CpThemePreview(name); + QVERIFY(obj != 0); + delete obj; + + obj = new CpThemePreview(name,icon); + QVERIFY(obj != 0); + delete obj; +} + +void TestCpThemePreview::testSetThemeName() +{ + CpThemePreview *obj = new CpThemePreview(); + QList themeInfo = mThemeChanger->themes(); + + for (int i = 0; i < themeInfo.size(); ++i) { + QString name = themeInfo.at(i).themeName; + + obj->setThemeName(name); + QCOMPARE(obj->themeName(), name); + } + + delete obj; +} + +// NULL TEST +void TestCpThemePreview::testSetPreviewIcon() +{ + CpThemePreview *obj = new CpThemePreview(); + QList themeInfo = mThemeChanger->themes(); + + for (int i = 0; i < themeInfo.size(); ++i) { + QString name = themeInfo.at(i).themeName; + + obj->setThemeName(name); + QCOMPARE(obj->themeName(), name); + } + + delete obj; +} + +void TestCpThemePreview::testThemeSelected() +{ + CpThemePreview *obj = new CpThemePreview(); + QSignalSpy spy(obj,SIGNAL(applyTheme(const QString&))); + + obj->themeSelected(); + + QCOMPARE(spy.count(), 1); + + delete obj; +} + + +QTEST_MAIN(TestCpThemePreview) +#include "unittest_cpthemepreview.moc" +