17 |
17 |
18 #include <QtTest/QtTest> |
18 #include <QtTest/QtTest> |
19 |
19 |
20 #include "cpthemepreview.h" |
20 #include "cpthemepreview.h" |
21 #include "cpthemechanger.h" |
21 #include "cpthemechanger.h" |
|
22 #include "cpthemeutil.h" |
22 |
23 |
23 class TestCpThemePreview : public QObject |
24 class TestCpThemePreview : public QObject |
24 { |
25 { |
25 Q_OBJECT |
26 Q_OBJECT |
26 |
27 |
27 private slots: |
28 private slots: |
28 void init(); |
29 |
29 |
30 void testAll(); |
30 void testConstructor(); |
31 |
31 void testConstructor2(); |
|
32 void testSetThemeName(); |
|
33 void testSetPreviewIcon(); |
|
34 void testThemeSelected(); |
|
35 |
|
36 void cleanup(); |
|
37 |
|
38 private: |
|
39 CpThemeChanger *mThemeChanger; |
|
40 }; |
32 }; |
41 |
33 |
42 void TestCpThemePreview::init() |
34 void TestCpThemePreview::testAll() |
43 { |
35 { |
44 mThemeChanger = new CpThemeChanger(); |
36 QList<QPair<QString, QString> > themes = CpThemeUtil::availableThemes(); |
45 } |
37 |
|
38 QPair<QString, QString> pair; |
|
39 |
|
40 pair = themes.at(0); |
|
41 |
|
42 QString name = pair.first; |
|
43 QString themePath = pair.second; |
|
44 CpThemeInfo* themeInfo = CpThemeUtil::buildThemeInfo(themePath, name); |
|
45 |
|
46 CpThemePreview *obj = new CpThemePreview(*themeInfo); |
|
47 |
|
48 |
|
49 QVERIFY (obj != 0 ); |
|
50 QCOMPARE(obj->themeName(), name); |
|
51 QCOMPARE(obj->themeIcon(), themeInfo->icon()); |
46 |
52 |
47 void TestCpThemePreview::cleanup() |
53 delete themeInfo; |
48 { |
54 |
49 delete mThemeChanger; |
55 pair = themes.at(1); |
50 } |
56 name = pair.first; |
51 |
57 themePath = pair.second; |
52 void TestCpThemePreview::testConstructor() |
58 themeInfo = CpThemeUtil::buildThemeInfo(themePath, name); |
53 { |
59 |
54 CpThemePreview *obj = new CpThemePreview(); |
60 obj->setThemeInfo(*themeInfo); |
55 |
61 |
56 QVERIFY( obj != 0 ); |
62 QCOMPARE(obj->themeName(), name); |
|
63 QCOMPARE(obj->themeIcon(), themeInfo->icon()); |
|
64 |
57 |
65 |
58 delete obj; |
66 delete obj; |
|
67 |
59 } |
68 } |
60 |
|
61 void TestCpThemePreview::testConstructor2() |
|
62 { |
|
63 QList<CpThemeChanger::ThemeInfo> themeInfo = mThemeChanger->themes(); |
|
64 |
|
65 for (int i = 0; i < themeInfo.size(); ++i) { |
|
66 QString name = themeInfo.at(i).themeName; |
|
67 QString icon = themeInfo.at(i).iconPath; |
|
68 |
|
69 CpThemePreview *obj = new CpThemePreview(name, icon); |
|
70 QVERIFY (obj != 0 ); |
|
71 QCOMPARE(obj->themeName(), name); |
|
72 |
|
73 delete obj; |
|
74 } |
|
75 |
|
76 // try with gibberish for the name and/or icon |
|
77 QString name = QString("alzihgiaureh"); |
|
78 QString icon = QString("ahilwvihln"); |
|
79 CpThemePreview *obj = new CpThemePreview(name); |
|
80 QVERIFY(obj != 0); |
|
81 delete obj; |
|
82 |
|
83 obj = new CpThemePreview(name,icon); |
|
84 QVERIFY(obj != 0); |
|
85 delete obj; |
|
86 } |
|
87 |
|
88 void TestCpThemePreview::testSetThemeName() |
|
89 { |
|
90 CpThemePreview *obj = new CpThemePreview(); |
|
91 QList<CpThemeChanger::ThemeInfo> themeInfo = mThemeChanger->themes(); |
|
92 |
|
93 for (int i = 0; i < themeInfo.size(); ++i) { |
|
94 QString name = themeInfo.at(i).themeName; |
|
95 |
|
96 obj->setThemeName(name); |
|
97 QCOMPARE(obj->themeName(), name); |
|
98 } |
|
99 |
|
100 delete obj; |
|
101 } |
|
102 |
|
103 // NULL TEST |
|
104 void TestCpThemePreview::testSetPreviewIcon() |
|
105 { |
|
106 CpThemePreview *obj = new CpThemePreview(); |
|
107 QList<CpThemeChanger::ThemeInfo> themeInfo = mThemeChanger->themes(); |
|
108 |
|
109 for (int i = 0; i < themeInfo.size(); ++i) { |
|
110 QString name = themeInfo.at(i).themeName; |
|
111 |
|
112 obj->setThemeName(name); |
|
113 QCOMPARE(obj->themeName(), name); |
|
114 } |
|
115 |
|
116 delete obj; |
|
117 } |
|
118 |
|
119 void TestCpThemePreview::testThemeSelected() |
|
120 { |
|
121 CpThemePreview *obj = new CpThemePreview(); |
|
122 QSignalSpy spy(obj,SIGNAL(applyTheme(const QString&))); |
|
123 |
|
124 obj->themeSelected(); |
|
125 |
|
126 QCOMPARE(spy.count(), 1); |
|
127 |
|
128 delete obj; |
|
129 } |
|
130 |
|
131 |
69 |
132 QTEST_MAIN(TestCpThemePreview) |
70 QTEST_MAIN(TestCpThemePreview) |
133 #include "unittest_cpthemepreview.moc" |
71 #include "unittest_cpthemepreview.moc" |
134 |
72 |