controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepreview/unittest_cpthemepreview.cpp
changeset 33 0cfa53de576f
parent 11 10d0dd0e43f1
--- a/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepreview/unittest_cpthemepreview.cpp	Thu Aug 05 11:28:29 2010 +0800
+++ b/controlpanelplugins/themeplugin/tsrc/unit/unittest_cpthemepreview/unittest_cpthemepreview.cpp	Tue Aug 24 10:56:32 2010 +0800
@@ -19,116 +19,54 @@
 
 #include "cpthemepreview.h"
 #include "cpthemechanger.h"
+#include "cpthemeutil.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 testAll();
+    
 };
 
-void TestCpThemePreview::init()
-{
-    mThemeChanger = new CpThemeChanger();
-}
-
-void TestCpThemePreview::cleanup()
+void TestCpThemePreview::testAll()
 {
-    delete mThemeChanger;
-}
+    QList<QPair<QString, QString> > themes = CpThemeUtil::availableThemes();
+    
+    QPair<QString, QString> pair;
+    
+    pair = themes.at(0);
+    
+    QString name = pair.first;
+    QString themePath = pair.second;
+    CpThemeInfo* themeInfo = CpThemeUtil::buildThemeInfo(themePath, name);
+    
+    CpThemePreview *obj = new CpThemePreview(*themeInfo);
+    
+    
+    QVERIFY (obj != 0 );
+    QCOMPARE(obj->themeName(), name);
+    QCOMPARE(obj->themeIcon(), themeInfo->icon());
 
-void TestCpThemePreview::testConstructor()
-{
-    CpThemePreview *obj = new CpThemePreview();
-
-    QVERIFY( obj != 0 );
+    delete themeInfo;
+    
+    pair = themes.at(1);
+    name = pair.first;
+    themePath = pair.second;
+    themeInfo = CpThemeUtil::buildThemeInfo(themePath, name);
+    
+    obj->setThemeInfo(*themeInfo);
+    
+    QCOMPARE(obj->themeName(), name);
+    QCOMPARE(obj->themeIcon(), themeInfo->icon());
+        
 
     delete obj;
-}
 
-void TestCpThemePreview::testConstructor2()
-{
-    QList<CpThemeChanger::ThemeInfo> 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<CpThemeChanger::ThemeInfo> 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<CpThemeChanger::ThemeInfo> 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"