|
1 /* |
|
2 * Copyright (c) 2010 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: unit test for the mcsplugin handler |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 // CLASS HEADER |
|
20 #include "ut_sapidataplugin.h" |
|
21 |
|
22 |
|
23 // EXTERNAL INCLUDES |
|
24 #include <digia/eunit/eunitmacros.h> |
|
25 #include <e32cmn.h> |
|
26 #include <aiutility.h> |
|
27 #include <aipluginsettings.h> |
|
28 |
|
29 // INTERNAL INCLUDES |
|
30 #include "sapidata.h" |
|
31 #include "sapidataobserver.h" |
|
32 #include "sapidataplugin.h" |
|
33 #include "sapidatapluginconst.h" |
|
34 #include "observer.h" |
|
35 |
|
36 |
|
37 _LIT( KTest, "TEST" ); |
|
38 _LIT( KUpdate, "update" ); |
|
39 // CONSTRUCTION |
|
40 |
|
41 // --------------------------------------------------------------------------- |
|
42 // |
|
43 // --------------------------------------------------------------------------- |
|
44 // |
|
45 UT_SapiDataPlugin* UT_SapiDataPlugin::NewL() |
|
46 { |
|
47 UT_SapiDataPlugin* self = UT_SapiDataPlugin::NewLC(); |
|
48 CleanupStack::Pop(); |
|
49 |
|
50 return self; |
|
51 } |
|
52 |
|
53 // --------------------------------------------------------------------------- |
|
54 // |
|
55 // --------------------------------------------------------------------------- |
|
56 // |
|
57 UT_SapiDataPlugin* UT_SapiDataPlugin::NewLC() |
|
58 { |
|
59 UT_SapiDataPlugin* self = new(ELeave) UT_SapiDataPlugin(); |
|
60 CleanupStack::PushL(self); |
|
61 |
|
62 self->ConstructL(); |
|
63 |
|
64 return self; |
|
65 } |
|
66 |
|
67 // --------------------------------------------------------------------------- |
|
68 // Destructor (virtual by CBase) |
|
69 // --------------------------------------------------------------------------- |
|
70 // |
|
71 UT_SapiDataPlugin::~UT_SapiDataPlugin() |
|
72 { |
|
73 |
|
74 } |
|
75 |
|
76 // --------------------------------------------------------------------------- |
|
77 // Default constructor |
|
78 // --------------------------------------------------------------------------- |
|
79 // |
|
80 UT_SapiDataPlugin::UT_SapiDataPlugin() |
|
81 { |
|
82 |
|
83 } |
|
84 |
|
85 // --------------------------------------------------------------------------- |
|
86 // Second phase construct |
|
87 // --------------------------------------------------------------------------- |
|
88 // |
|
89 void UT_SapiDataPlugin::ConstructL() |
|
90 { |
|
91 // The ConstructL from the base class CEUnitTestSuiteClass must be called. |
|
92 // It generates the test case table. |
|
93 CEUnitTestSuiteClass::ConstructL(); |
|
94 } |
|
95 |
|
96 // --------------------------------------------------------------------------- |
|
97 // void UT_SapiDataPlugin::Teardown() |
|
98 // --------------------------------------------------------------------------- |
|
99 // |
|
100 void UT_SapiDataPlugin::Teardown() |
|
101 { |
|
102 if ( iPlugin ) |
|
103 { |
|
104 delete iPlugin; |
|
105 iPlugin = NULL; |
|
106 } |
|
107 if ( iObserver ) |
|
108 { |
|
109 delete iObserver; |
|
110 iObserver = NULL; |
|
111 } |
|
112 } |
|
113 |
|
114 // --------------------------------------------------------------------------- |
|
115 // |
|
116 // --------------------------------------------------------------------------- |
|
117 void UT_SapiDataPlugin::UT_SapiDataPlugin_Data() |
|
118 { |
|
119 iData = iPlugin->Data(); |
|
120 EUNIT_ASSERT( iData ); |
|
121 } |
|
122 |
|
123 // --------------------------------------------------------------------------- |
|
124 // |
|
125 // --------------------------------------------------------------------------- |
|
126 void UT_SapiDataPlugin::SetupL() |
|
127 { |
|
128 iPlugin = CSapiDataPlugin::NewL(); |
|
129 |
|
130 RAiSettingsItemArray settings; |
|
131 MAiPluginSettings* setting = AiUtility::CreatePluginSettingsL(); |
|
132 |
|
133 CleanupDeletePushL( setting ); |
|
134 MAiPluginContentItem& item = setting->AiPluginContentItem(); |
|
135 item.SetTypeL( _L( "image" ) ); |
|
136 item.SetNameL( _L( "widget/icon" ) ); |
|
137 settings.AppendL( setting ); |
|
138 CleanupStack::Pop( setting ); |
|
139 |
|
140 MAiPluginSettings* setting1 = AiUtility::CreatePluginSettingsL(); |
|
141 CleanupDeletePushL( setting1 ); |
|
142 MAiPluginContentItem& item1 = setting1->AiPluginContentItem(); |
|
143 item1.SetTypeL( _L( "image" ) ); |
|
144 item1.SetNameL( _L( "widget/icon" ) ); |
|
145 settings.AppendL( setting1 ); |
|
146 CleanupStack::Pop( setting1 ); |
|
147 |
|
148 MAiPluginSettings* setting2 = AiUtility::CreatePluginSettingsL(); |
|
149 CleanupDeletePushL( setting2 ); |
|
150 MAiPluginContentItem& item2 = setting2->AiPluginContentItem(); |
|
151 item2.SetTypeL( _L( "text" ) ); |
|
152 item2.SetNameL( _L( "widget/longname" ) ); |
|
153 settings.AppendL( setting2 ); |
|
154 CleanupStack::Pop( setting2 ); |
|
155 |
|
156 MAiPluginSettings* setting3 = AiUtility::CreatePluginSettingsL(); |
|
157 CleanupDeletePushL( setting3 ); |
|
158 MAiPluginConfigurationItem& item3 = setting3->AiPluginConfigurationItem(); |
|
159 item3.SetOwnerL( _L( "plugin" ) ); |
|
160 item3.SetNameL( _L( "publisher" )); |
|
161 item3.SetValueL( _L( "TEST" ) ); |
|
162 settings.AppendL( setting3 ); |
|
163 CleanupStack::Pop( setting3 ); |
|
164 |
|
165 TRAPD( err, iPlugin->ConfigureL( settings ) ); |
|
166 EUNIT_ASSERT_EQUALS(err, KErrNone); |
|
167 |
|
168 iPlugin->Start( CHsContentPublisher::ESystemStartup ); |
|
169 iPlugin->Resume( CHsContentPublisher::EForeground ); |
|
170 } |
|
171 |
|
172 // --------------------------------------------------------------------------- |
|
173 // |
|
174 // --------------------------------------------------------------------------- |
|
175 void UT_SapiDataPlugin::UT_SapiDataPlugin_GetTypeL() |
|
176 { |
|
177 MAiPluginSettings* setting4 = AiUtility::CreatePluginSettingsL(); |
|
178 CleanupDeletePushL( setting4 ); |
|
179 MAiPluginContentItem& item4 = setting4->AiPluginContentItem(); |
|
180 item4.SetTypeL( _L( "text" ) ); |
|
181 item4.SetNameL( _L( "widget/longname" ) ); |
|
182 |
|
183 HBufC* objectId = item4.Name().AllocLC(); |
|
184 objectId->Des().Delete(0, objectId->LocateReverse(KPluginNameSeprator) + 1); |
|
185 |
|
186 HBufC* type = iPlugin->GetTypeL( *objectId ).AllocLC(); |
|
187 EUNIT_ASSERT_EQUALS( type != KNullDesC(), ETrue ) |
|
188 |
|
189 CleanupStack::PopAndDestroy( type ); |
|
190 CleanupStack::PopAndDestroy( objectId ); |
|
191 CleanupStack::PopAndDestroy( setting4 ); |
|
192 } |
|
193 |
|
194 // --------------------------------------------------------------------------- |
|
195 // |
|
196 // --------------------------------------------------------------------------- |
|
197 void UT_SapiDataPlugin::UT_SapiDataPlugin_GetIdL() |
|
198 { |
|
199 MAiPluginSettings* setting4 = AiUtility::CreatePluginSettingsL(); |
|
200 CleanupDeletePushL( setting4 ); |
|
201 MAiPluginContentItem& item4 = setting4->AiPluginContentItem(); |
|
202 item4.SetTypeL( _L( "text" ) ); |
|
203 item4.SetNameL( _L( "widget/longname" ) ); |
|
204 |
|
205 HBufC* objectId = item4.Name().AllocLC(); |
|
206 objectId->Des().Delete(0, objectId->LocateReverse(KPluginNameSeprator) + 1); |
|
207 |
|
208 TInt id = iPlugin->GetIdL( *objectId ); |
|
209 EUNIT_ASSERT_EQUALS( id != KErrNotFound, ETrue ); |
|
210 |
|
211 CleanupStack::PopAndDestroy( objectId ); |
|
212 CleanupStack::PopAndDestroy( setting4 ); |
|
213 } |
|
214 |
|
215 // --------------------------------------------------------------------------- |
|
216 // |
|
217 // --------------------------------------------------------------------------- |
|
218 void UT_SapiDataPlugin::UT_SapiDataPlugin_Resume() |
|
219 { |
|
220 EUNIT_ASSERT( iPlugin->IsActive() ); |
|
221 } |
|
222 |
|
223 // --------------------------------------------------------------------------- |
|
224 // |
|
225 // --------------------------------------------------------------------------- |
|
226 void UT_SapiDataPlugin::UT_SapiDataPlugin_NetworkStatus() |
|
227 { |
|
228 iPlugin->SetOnline(); |
|
229 CSapiDataPlugin::TPluginNetworkStatus networkStatus = |
|
230 iPlugin->NetworkStatus(); |
|
231 EUNIT_ASSERT_EQUALS( networkStatus == CSapiDataPlugin::EOnline, ETrue ); |
|
232 |
|
233 iPlugin->SetOffline(); |
|
234 networkStatus = iPlugin->NetworkStatus(); |
|
235 EUNIT_ASSERT_EQUALS( networkStatus == CSapiDataPlugin::EOffline, ETrue ); |
|
236 } |
|
237 |
|
238 // --------------------------------------------------------------------------- |
|
239 // |
|
240 // --------------------------------------------------------------------------- |
|
241 void UT_SapiDataPlugin::UT_SapiDataPlugin_GetProperty() |
|
242 { |
|
243 TAny* anyPtr = iPlugin->GetProperty( CSapiDataPlugin::EPublisherContent ); |
|
244 MAiContentItemIterator* iter = |
|
245 static_cast<MAiContentItemIterator*>( anyPtr); |
|
246 EUNIT_ASSERT( iter ); |
|
247 } |
|
248 |
|
249 // --------------------------------------------------------------------------- |
|
250 // |
|
251 // --------------------------------------------------------------------------- |
|
252 void UT_SapiDataPlugin::UT_SapiDataPlugin_HasMenuItem() |
|
253 { |
|
254 TBool res = iPlugin->HasMenuItem( KTest ); |
|
255 EUNIT_ASSERT( res == EFalse ); |
|
256 } |
|
257 |
|
258 // --------------------------------------------------------------------------- |
|
259 // |
|
260 // --------------------------------------------------------------------------- |
|
261 void UT_SapiDataPlugin::UT_SapiDataPlugin_Clean() |
|
262 { |
|
263 iObserver = Observer::NewL(); |
|
264 TInt id = 1; |
|
265 |
|
266 iPlugin->SubscribeL( *iObserver ); |
|
267 EUNIT_ASSERT_NO_LEAVE( iPlugin->Clean( iObserver, id ) ); |
|
268 } |
|
269 |
|
270 // TEST TABLE |
|
271 |
|
272 |
|
273 EUNIT_BEGIN_TEST_TABLE |
|
274 ( |
|
275 UT_SapiDataPlugin, |
|
276 "Sapidata plugin tests", |
|
277 "UNIT" |
|
278 ) |
|
279 |
|
280 EUNIT_TEST |
|
281 ( |
|
282 "Data", |
|
283 "CSapiDataPlugin", |
|
284 "Data", |
|
285 "FUNCTIONALITY", |
|
286 SetupL, UT_SapiDataPlugin_Data, Teardown |
|
287 ) |
|
288 |
|
289 EUNIT_TEST |
|
290 ( |
|
291 "Resume", |
|
292 "CSapiDataPlugin", |
|
293 "Resume", |
|
294 "FUNCTIONALITY", |
|
295 SetupL, UT_SapiDataPlugin_Resume, Teardown |
|
296 ) |
|
297 |
|
298 EUNIT_TEST |
|
299 ( |
|
300 "GetTypeL", |
|
301 "CSapiDataPlugin", |
|
302 "GetTypeL", |
|
303 "FUNCTIONALITY", |
|
304 SetupL, UT_SapiDataPlugin_GetTypeL, Teardown |
|
305 ) |
|
306 |
|
307 EUNIT_TEST |
|
308 ( |
|
309 "GetIdL", |
|
310 "CSapiDataPlugin", |
|
311 "GetIdL", |
|
312 "FUNCTIONALITY", |
|
313 SetupL, UT_SapiDataPlugin_GetIdL, Teardown |
|
314 ) |
|
315 |
|
316 EUNIT_TEST |
|
317 ( |
|
318 "NetworkStatus", |
|
319 "CSapiDataPlugin", |
|
320 "NetworkStatus", |
|
321 "FUNCTIONALITY", |
|
322 SetupL, UT_SapiDataPlugin_NetworkStatus, Teardown |
|
323 ) |
|
324 |
|
325 EUNIT_TEST |
|
326 ( |
|
327 "GetProperty", |
|
328 "CSapiDataPlugin", |
|
329 "GetProperty", |
|
330 "FUNCTIONALITY", |
|
331 SetupL, UT_SapiDataPlugin_GetProperty, Teardown |
|
332 ) |
|
333 |
|
334 EUNIT_TEST |
|
335 ( |
|
336 "HasMenuItem", |
|
337 "CSapiDataPlugin", |
|
338 "HasMenuItem", |
|
339 "FUNCTIONALITY", |
|
340 SetupL, UT_SapiDataPlugin_HasMenuItem, Teardown |
|
341 ) |
|
342 |
|
343 EUNIT_TEST |
|
344 ( |
|
345 "Clean", |
|
346 "CSapiDataPlugin", |
|
347 "Clean", |
|
348 "FUNCTIONALITY", |
|
349 SetupL, UT_SapiDataPlugin_Clean, Teardown |
|
350 ) |
|
351 |
|
352 EUNIT_END_TEST_TABLE |
|
353 |
|
354 // END OF FILE |