1 /* |
|
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 #include "ut_infowidgetengine.h" |
|
18 #include "infowidgetengine.h" |
|
19 #include "qtestmains60.h" |
|
20 #include "infowidgetpreferences.h" |
|
21 |
|
22 // mocked dependencies of the class under test |
|
23 #include "infowidgetnetworkhandler.h" |
|
24 #include "infowidgetsathandler.h" |
|
25 |
|
26 const QString KSpnName("Spn name"); // |
|
27 |
|
28 const QString KHomeZoneTextTag("HomeZoneText0"); // max length 13 |
|
29 const TNWViagIndicatorType |
|
30 KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone; |
|
31 |
|
32 const QString KMcnName("McnNameMcnNameMcnNam"); // max length 20 |
|
33 const TNWMCNIndicatorType |
|
34 KMcnIndicatorType = ENWMCNIndicatorTypeActive; |
|
35 |
|
36 /*! |
|
37 UT_InfoWidgetEngine::UT_InfoWidgetEngine |
|
38 */ |
|
39 UT_InfoWidgetEngine::UT_InfoWidgetEngine() |
|
40 : |
|
41 m_infoWidgetEngine(0) |
|
42 { |
|
43 |
|
44 } |
|
45 |
|
46 /*! |
|
47 UT_InfoWidgetEngine::~UT_InfoWidgetEngine |
|
48 */ |
|
49 UT_InfoWidgetEngine::~UT_InfoWidgetEngine() |
|
50 { |
|
51 delete m_infoWidgetEngine; |
|
52 } |
|
53 |
|
54 /*! |
|
55 UT_InfoWidgetEngine::init |
|
56 */ |
|
57 void UT_InfoWidgetEngine::init() |
|
58 { |
|
59 initialize(); |
|
60 |
|
61 SmcDefaultValue<QString>::SetL(""); |
|
62 SmcDefaultValue<const QString & >::SetL(""); |
|
63 |
|
64 EXPECT(InfoWidgetNetworkHandler::logCurrentInfo); |
|
65 EXPECT(InfoWidgetNetworkHandler::isOnline) |
|
66 .returns(true); |
|
67 |
|
68 EXPECT(InfoWidgetNetworkHandler::serviceProviderName) |
|
69 .returns(KSpnName); |
|
70 EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired) |
|
71 .returns(true); |
|
72 |
|
73 EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName); |
|
74 EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType) |
|
75 .returns(KMcnIndicatorType); |
|
76 |
|
77 EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType) |
|
78 .returns(KHomeZoneIndicatorType); |
|
79 EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag) |
|
80 .returns(KHomeZoneTextTag); |
|
81 |
|
82 m_infoWidgetEngine = new InfoWidgetEngine(); |
|
83 |
|
84 QVERIFY(verify()); |
|
85 } |
|
86 |
|
87 /*! |
|
88 UT_InfoWidgetEngine::cleanup |
|
89 */ |
|
90 void UT_InfoWidgetEngine::cleanup() |
|
91 { |
|
92 reset(); |
|
93 |
|
94 delete m_infoWidgetEngine; |
|
95 m_infoWidgetEngine = 0; |
|
96 } |
|
97 |
|
98 /*! |
|
99 UT_InfoWidgetEngine::t_modelData |
|
100 */ |
|
101 void UT_InfoWidgetEngine::t_modelData() |
|
102 { |
|
103 const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData(); |
|
104 QVERIFY(data.serviceProviderName() == KSpnName); |
|
105 QVERIFY(data.serviceProviderNameDisplayRequired() == true); |
|
106 QVERIFY(data.homeZoneTextTag() == KHomeZoneTextTag); |
|
107 QVERIFY(data.homeZoneIndicatorType() == KHomeZoneIndicatorType); |
|
108 QVERIFY(data.mcnName() == KMcnName); |
|
109 QVERIFY(data.mcnIndicatorType() == KMcnIndicatorType); |
|
110 } |
|
111 |
|
112 /*! |
|
113 UT_InfoWidgetEngine::t_updateNetworkDataToModel |
|
114 */ |
|
115 void UT_InfoWidgetEngine::t_updateNetworkDataToModel() |
|
116 { |
|
117 // Test: network status is online |
|
118 EXPECT(InfoWidgetNetworkHandler::logCurrentInfo); |
|
119 EXPECT(InfoWidgetNetworkHandler::isOnline) |
|
120 .returns(true); |
|
121 |
|
122 EXPECT(InfoWidgetNetworkHandler::serviceProviderName) |
|
123 .returns(KSpnName); |
|
124 EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired) |
|
125 .returns(true); |
|
126 |
|
127 EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName); |
|
128 EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType) |
|
129 .returns(KMcnIndicatorType); |
|
130 |
|
131 EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType) |
|
132 .returns(KHomeZoneIndicatorType); |
|
133 EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag) |
|
134 .returns(KHomeZoneTextTag); |
|
135 |
|
136 QSignalSpy spy(m_infoWidgetEngine, SIGNAL(modelChanged())); |
|
137 m_infoWidgetEngine->updateNetworkDataToModel(); |
|
138 |
|
139 const int KExpectedNumOfSignalEmissions = 1; |
|
140 QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions); |
|
141 const QList<QVariant> &arguments = spy.takeFirst(); |
|
142 QCOMPARE(arguments.count(), 0); |
|
143 |
|
144 QVERIFY(verify()); |
|
145 |
|
146 // Test: network status is offline |
|
147 EXPECT(InfoWidgetNetworkHandler::logCurrentInfo); |
|
148 EXPECT(InfoWidgetNetworkHandler::isOnline) |
|
149 .returns(false); |
|
150 EXPECT(InfoWidgetNetworkHandler::serviceProviderName).times(0); |
|
151 EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired).times(0); |
|
152 EXPECT(InfoWidgetNetworkHandler::mcnName).times(0); |
|
153 EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType).times(0); |
|
154 EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType).times(0); |
|
155 EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag).times(0); |
|
156 |
|
157 m_infoWidgetEngine->updateNetworkDataToModel(); |
|
158 QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions); |
|
159 const QList<QVariant> &arguments2 = spy.takeFirst(); |
|
160 QCOMPARE(arguments2.count(), 0); |
|
161 |
|
162 QVERIFY(verify()); |
|
163 |
|
164 const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData(); |
|
165 QVERIFY(data.serviceProviderName() == QString("")); |
|
166 QVERIFY(data.homeZoneTextTag() == QString("")); |
|
167 QVERIFY(data.mcnName() == QString("")); |
|
168 |
|
169 } |
|
170 |
|
171 /*! |
|
172 UT_InfoWidgetEngine::t_updateSatDataToModel |
|
173 */ |
|
174 void UT_InfoWidgetEngine::t_updateSatDataToModel() |
|
175 { |
|
176 EXPECT(InfoWidgetSatHandler::satDisplayText) |
|
177 .returns(QString("")); |
|
178 |
|
179 m_infoWidgetEngine->updateSatDataToModel(); |
|
180 } |
|
181 |
|
182 /*! |
|
183 UT_InfoWidgetEngine::t_updateLineDataToModel |
|
184 */ |
|
185 void UT_InfoWidgetEngine::t_updateLineDataToModel() |
|
186 { |
|
187 m_infoWidgetEngine->updateLineDataToModel(); |
|
188 |
|
189 QVERIFY(verify()); |
|
190 } |
|
191 |
|
192 /*! |
|
193 UT_InfoWidgetEngine::t_handleNetworkError |
|
194 */ |
|
195 void UT_InfoWidgetEngine::t_handleNetworkError() |
|
196 { |
|
197 m_infoWidgetEngine->handleNetworkError(0, 0); |
|
198 |
|
199 QVERIFY(verify()); |
|
200 } |
|
201 |
|
202 /*! |
|
203 UT_InfoWidgetEngine::t_handleSatError |
|
204 */ |
|
205 void UT_InfoWidgetEngine::t_handleSatError() |
|
206 { |
|
207 m_infoWidgetEngine->handleSatError(0, 0); |
|
208 |
|
209 QVERIFY(verify()); |
|
210 } |
|
211 |
|
212 /*! |
|
213 UT_InfoWidgetEngine::t_handleLineError |
|
214 */ |
|
215 void UT_InfoWidgetEngine::t_handleLineError() |
|
216 { |
|
217 m_infoWidgetEngine->handleLineError(0, 0); |
|
218 |
|
219 QVERIFY(verify()); |
|
220 } |
|
221 |
|
222 /*! |
|
223 UT_InfoWidgetEngine::t_handleLineError |
|
224 */ |
|
225 void UT_InfoWidgetEngine::t_logModelData() |
|
226 { |
|
227 m_infoWidgetEngine->logModelData(); |
|
228 |
|
229 QVERIFY(verify()); |
|
230 } |
|
231 |
|
232 /*! |
|
233 UT_InfoWidgetEngine::t_preferenceChanged |
|
234 */ |
|
235 void UT_InfoWidgetEngine::t_preferenceChanged() |
|
236 { |
|
237 m_infoWidgetEngine->preferenceChanged |
|
238 (InfoWidgetPreferences::DisplayMcn, |
|
239 InfoWidgetPreferences::DisplayOn); |
|
240 |
|
241 m_infoWidgetEngine->preferenceChanged |
|
242 (InfoWidgetPreferences::DisplayMcn, |
|
243 InfoWidgetPreferences::DisplayOff); |
|
244 |
|
245 m_infoWidgetEngine->preferenceChanged |
|
246 (InfoWidgetPreferences::DisplaySatText, |
|
247 InfoWidgetPreferences::DisplayOn); |
|
248 |
|
249 m_infoWidgetEngine->preferenceChanged |
|
250 (InfoWidgetPreferences::DisplaySatText, |
|
251 InfoWidgetPreferences::DisplayOff); |
|
252 |
|
253 m_infoWidgetEngine->preferenceChanged(-1, |
|
254 InfoWidgetPreferences::DisplayOff); |
|
255 |
|
256 QVERIFY(verify()); |
|
257 } |
|
258 |
|
259 /*! |
|
260 UT_InfoWidgetEngine::t_suspend |
|
261 */ |
|
262 void UT_InfoWidgetEngine::t_suspend() |
|
263 { |
|
264 m_infoWidgetEngine->suspend(); |
|
265 |
|
266 QVERIFY(verify()); |
|
267 } |
|
268 |
|
269 /*! |
|
270 UT_InfoWidgetEngine::t_resume |
|
271 */ |
|
272 void UT_InfoWidgetEngine::t_resume() |
|
273 { |
|
274 m_infoWidgetEngine->resume(); |
|
275 |
|
276 QVERIFY(verify()); |
|
277 } |
|
278 |
|
279 QTEST_MAIN_S60(UT_InfoWidgetEngine) |
|