|
1 /* |
|
2 * Copyright (c) 2002-2007 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: FSQ Test DLL |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #include "../inc/AFSQTestAsynchSave.h" |
|
20 #include <f32file.h> // for opening / creating files |
|
21 #include <bautils.h> // for deleting files |
|
22 |
|
23 CAFSQTestAsynchSave::CAFSQTestAsynchSave() |
|
24 { |
|
25 RDebug::Print( _L("CAFSQTestAsynchSave::CAFSQTestAsynchSave in") ); |
|
26 |
|
27 // Create a mutex for synchronization purpose |
|
28 iMutex.CreateLocal(); |
|
29 |
|
30 RDebug::Print( _L("CAFSQTestAsynchSave::CAFSQTestAsynchSave out") ); |
|
31 } |
|
32 |
|
33 CAFSQTestAsynchSave::~CAFSQTestAsynchSave() |
|
34 { |
|
35 // Nothing to do |
|
36 } |
|
37 |
|
38 void CAFSQTestAsynchSave::setUpL() |
|
39 { |
|
40 RDebug::Print( _L("CAFSQTestAsynchSave::setUpL in") ); |
|
41 } |
|
42 |
|
43 void CAFSQTestAsynchSave::tearDown() |
|
44 { |
|
45 RDebug::Print( _L("CAFSQTestAsynchSave::tearDown in") ); |
|
46 } |
|
47 |
|
48 void CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL() |
|
49 { |
|
50 // Group: Asynch Save |
|
51 // |
|
52 // ID: CAE.FM.TESTFILEMANNEWLRETURNSNOTNULL.001 |
|
53 // |
|
54 // Action : Test that cfileman::newl returns a value. |
|
55 // |
|
56 // Output : A handle to the requested object. |
|
57 |
|
58 RDebug::Print( _L("CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL in") ); |
|
59 |
|
60 currentTest = ECONSTRUCT001p1; |
|
61 wait = ETrue; |
|
62 |
|
63 TRAPD( err, |
|
64 iFSQ = CAsynchFSQ::NewL(); |
|
65 ); |
|
66 |
|
67 RDebug::Print( _L("CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL isNotNull=%d notErr=%d"), (iFSQ!=NULL), !err); |
|
68 assertL( (iFSQ != NULL) && !err ); |
|
69 delete iFSQ; |
|
70 iFSQ = NULL; |
|
71 RDebug::Print( _L("CAFSQTestAsynchSave::TestFileManNewLReturnsNotNullL out") ); |
|
72 } |
|
73 |
|
74 void CAFSQTestAsynchSave::TestDestructorL() |
|
75 { |
|
76 // Group: Asynch Save |
|
77 // |
|
78 // ID: CAE.FM.TESTDESTRUCTOR.001 |
|
79 // |
|
80 // Action : Test that delete works |
|
81 // |
|
82 // Output : KErrNone on all fronts. |
|
83 |
|
84 RDebug::Print( _L("CAFSQTestAsynchSave::TestDestructorL in") ); |
|
85 |
|
86 currentTest = EDESTRUCT001p1; |
|
87 wait = ETrue; |
|
88 |
|
89 TRAPD( err, |
|
90 iFSQ = CAsynchFSQ::NewL(); |
|
91 delete iFSQ; |
|
92 iFSQ = NULL; |
|
93 ); |
|
94 |
|
95 RDebug::Print( _L("CAFSQTestAsynchSave::TestDestructorL notErr=%d"), !err ); |
|
96 |
|
97 assertL( !err ); |
|
98 |
|
99 RDebug::Print( _L("CAFSQTestAsynchSave::TestDestructorL out") ); |
|
100 } |
|
101 |
|
102 void CAFSQTestAsynchSave::TestSetPriorityL() |
|
103 { |
|
104 // Group: Asynch Save |
|
105 // |
|
106 // ID: CAE.FM.TESTSETPRIORITY.001 |
|
107 // |
|
108 // Action : Test that setting the priority doesn't fail |
|
109 // |
|
110 // Output : KErrNone on all fronts. |
|
111 |
|
112 RDebug::Print( _L("CAFSQTestAsynchSave::TestSetPriorityL in") ); |
|
113 |
|
114 currentTest = EPRIORITY001p1; |
|
115 wait = ETrue; |
|
116 |
|
117 TRAPD( err, |
|
118 iFSQ = CAsynchFSQ::NewL(); |
|
119 iFSQ->SetPriority( EPriorityMore ); |
|
120 delete iFSQ; |
|
121 iFSQ = NULL; |
|
122 ); |
|
123 |
|
124 RDebug::Print( _L("CAFSQTestAsynchSave::TestSetPriorityL notErr=%d"), !err ); |
|
125 |
|
126 assertL( !err ); |
|
127 |
|
128 RDebug::Print( _L("CAFSQTestAsynchSave::TestSetPriorityL out") ); |
|
129 } |
|
130 |
|
131 void CAFSQTestAsynchSave::TestCancelL() |
|
132 { |
|
133 // Group: Asynch Save |
|
134 // |
|
135 // ID: CAE.FM.TESTCANCEL.001 |
|
136 // |
|
137 // Action : Test that canceling will.... |
|
138 // |
|
139 // Output : An error code. |
|
140 |
|
141 RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL in") ); |
|
142 |
|
143 TInt error = KErrNone; |
|
144 currentTest = ECANCEL001p1; |
|
145 numSaved = 0; |
|
146 wait = ETrue; |
|
147 |
|
148 // Read the file to be used in testing. |
|
149 TFileName aFilename = KNibbles; |
|
150 RFs aFs; |
|
151 User::LeaveIfError(aFs.Connect()); |
|
152 RFile file; |
|
153 TInt connectErr = file.Open(aFs, aFilename, EFileRead); |
|
154 TInt iSize; |
|
155 file.Size(iSize); |
|
156 HBufC8* buf = HBufC8::NewL(iSize); |
|
157 TPtr8 myData = buf->Des(); |
|
158 if ( !connectErr ) |
|
159 { |
|
160 file.Read( myData ); |
|
161 } |
|
162 file.Close(); |
|
163 |
|
164 // Delete the file if it exists |
|
165 TFileName cancel001 = KNibblesCANCEL001; |
|
166 RFile deleter; |
|
167 TInt isDeleted = deleter.Open(aFs, cancel001, EFileRead); |
|
168 deleter.Close(); |
|
169 |
|
170 if ( isDeleted == KErrNone ) |
|
171 { |
|
172 // if no error, assume the file exists, so delete it |
|
173 RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL exists, deleting") ); |
|
174 BaflUtils ba; |
|
175 ba.DeleteFile(aFs, cancel001); |
|
176 } |
|
177 aFs.Close(); |
|
178 |
|
179 // Save |
|
180 TRAPD( err, |
|
181 iFSQ = CAsynchFSQ::NewL(); |
|
182 //add this as a callback |
|
183 iFSQ->SetCallback( this ); |
|
184 error = iFSQ->SaveAndDestroy( *buf, cancel001 ); |
|
185 buf = NULL; // transfer ownership |
|
186 iFSQ->Cancel(); |
|
187 ); |
|
188 |
|
189 RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL isKErrNone=%d notErr=%d"), (error == KErrNone), !err ); |
|
190 |
|
191 // do not wait for callback to assert, since we have canceled |
|
192 delayedBool = ( (error == KErrNone) && !err ); |
|
193 assertL( delayedBool ); |
|
194 |
|
195 RDebug::Print( _L("CAFSQTestAsynchSave::TestCancelL out") ); |
|
196 } |
|
197 |
|
198 void CAFSQTestAsynchSave::WaitForAsynchCompleteL() |
|
199 { |
|
200 RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL in") ); |
|
201 |
|
202 RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL starting AS now") ); |
|
203 CActiveScheduler::Start(); |
|
204 |
|
205 RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL closing") ); |
|
206 //close up and assert |
|
207 User::After( TTimeIntervalMicroSeconds32(1000000) ); |
|
208 if( iFSQ ) |
|
209 { |
|
210 delete iFSQ; |
|
211 iFSQ = NULL; |
|
212 } |
|
213 |
|
214 RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL we are asserting the following: %d"), assertion ); |
|
215 |
|
216 assertL( assertion ); |
|
217 |
|
218 RDebug::Print( _L("CAFSQTestAsynchSave::WaitForAsynchCompleteL out") ); |
|
219 } |
|
220 |
|
221 void CAFSQTestAsynchSave::MAsynchFSQEvent( TInt aError ) |
|
222 { |
|
223 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent in, waiting")); |
|
224 User::After( TTimeIntervalMicroSeconds32(2000000) ); |
|
225 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent in, done waiting")); |
|
226 |
|
227 numSaved++; |
|
228 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent in, numToSave=%d"),numToSave); |
|
229 |
|
230 switch( currentTest ) |
|
231 { |
|
232 case EADD002p1: |
|
233 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(2) delayedBool=%d !aError=%d"), delayedBool, !aError ); |
|
234 CActiveScheduler::Stop(); |
|
235 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(2)")); |
|
236 |
|
237 assertion = ( delayedBool && !aError ); |
|
238 break; |
|
239 |
|
240 case EADD003p1: |
|
241 { |
|
242 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3)")); |
|
243 CActiveScheduler::Stop(); |
|
244 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3)")); |
|
245 |
|
246 //check that the file exists |
|
247 RFs fsSession; |
|
248 TInt connectErr = fsSession.Connect(); |
|
249 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3) connectErr=%d"), connectErr ); |
|
250 RFile file; |
|
251 TFileName add003 = KNibblesADD003; |
|
252 TInt fileErr = file.Open(fsSession, add003, EFileRead); |
|
253 file.Close(); |
|
254 fsSession.Close(); |
|
255 |
|
256 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(3) aErrorIsKErrNone=%d !fileErr=%d"), (aError == KErrNone), !fileErr ); |
|
257 assertion = ( (aError == KErrNone) && !fileErr); |
|
258 break; |
|
259 } |
|
260 case EADD004p1: |
|
261 { |
|
262 if( numToSave == numSaved ) |
|
263 { |
|
264 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4)")); |
|
265 CActiveScheduler::Stop(); |
|
266 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4)")); |
|
267 |
|
268 //check that the file exists |
|
269 RFs fsSession; |
|
270 TInt connectErr = fsSession.Connect(); |
|
271 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4) connectErr=%d"), connectErr ); |
|
272 RFile file1; |
|
273 RFile file2; |
|
274 TFileName add004A = KNibblesADD004A; |
|
275 TFileName add004B = KNibblesADD004B; |
|
276 TInt fileErr1 = file1.Open(fsSession, add004A, EFileRead); |
|
277 TInt fileErr2 = file2.Open(fsSession, add004B, EFileRead); |
|
278 file1.Close(); |
|
279 file2.Close(); |
|
280 fsSession.Close(); |
|
281 |
|
282 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(4) delayedBool=%d !aError=%d !fileErr1=%d !fileErr2=%d"), delayedBool, !aError, !fileErr1, !fileErr2 ); |
|
283 assertion = ( delayedBool && !aError && !fileErr1 && !fileErr2); |
|
284 } |
|
285 break; |
|
286 } |
|
287 case EADD005p1: |
|
288 { |
|
289 if( numToSave == numSaved ) |
|
290 { |
|
291 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5)")); |
|
292 CActiveScheduler::Stop(); |
|
293 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5)")); |
|
294 |
|
295 //check that the file exists |
|
296 RFs fsSession; |
|
297 TInt connectErr = fsSession.Connect(); |
|
298 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5) connectErr=%d"), connectErr ); |
|
299 RFile file1; |
|
300 RFile file2; |
|
301 TFileName add005A = KNibblesADD005A; |
|
302 TFileName add005B = KNibblesADD005B; |
|
303 TInt fileErr1 = file1.Open(fsSession, add005A, EFileRead); |
|
304 TInt fileErr2 = file2.Open(fsSession, add005B, EFileRead); |
|
305 file1.Close(); |
|
306 file2.Close(); |
|
307 fsSession.Close(); |
|
308 |
|
309 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(5) isaErrorKErrNone=%d"), (aError==KErrNone) ); |
|
310 assertion = ( aError == KErrNone ); |
|
311 } |
|
312 break; |
|
313 } |
|
314 case EADD007p1: |
|
315 { |
|
316 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(EADD007p1) delayedBool=%d !aError=%d"), delayedBool, !aError ); |
|
317 CActiveScheduler::Stop(); |
|
318 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(EADD007p1)")); |
|
319 |
|
320 assertion = ( delayedBool && !aError ); |
|
321 break; |
|
322 } |
|
323 case EDEL003p1: |
|
324 { |
|
325 if( numToSave == numSaved ) |
|
326 { |
|
327 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8)")); |
|
328 CActiveScheduler::Stop(); |
|
329 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8)")); |
|
330 |
|
331 //check that file was deleted |
|
332 RFs fsSession2; |
|
333 TInt connectErr = fsSession2.Connect(); |
|
334 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8) connectErr=%d"), connectErr ); |
|
335 RFile file3; |
|
336 TFileName del003A = KNibblesDEL003A; |
|
337 TInt fileError = file3.Open(fsSession2, del003A, EFileRead); |
|
338 file3.Close(); |
|
339 fsSession2.Close(); |
|
340 |
|
341 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(8) delayedBool=%d !aError=%d fileError=%d"), delayedBool, !aError, !(!fileError) ); |
|
342 assertion = ( delayedBool && !aError && !(!fileError) ); |
|
343 } |
|
344 break; |
|
345 } |
|
346 case EDEL004p1: |
|
347 { |
|
348 if( numToSave == numSaved ) |
|
349 { |
|
350 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(9)")); |
|
351 CActiveScheduler::Stop(); |
|
352 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(9)")); |
|
353 |
|
354 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(9) delayedBool=%d !aError=%d"), delayedBool, !aError ); |
|
355 assertion = ( delayedBool && !aError ); |
|
356 } |
|
357 break; |
|
358 } |
|
359 case EDEL005p1: |
|
360 { |
|
361 if( numToSave == numSaved ) |
|
362 { |
|
363 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10)")); |
|
364 CActiveScheduler::Stop(); |
|
365 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10)")); |
|
366 |
|
367 //check that file was deleted |
|
368 RFs fsSession2; |
|
369 TInt connectErr = fsSession2.Connect(); |
|
370 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10) connectErr=%d"), connectErr ); |
|
371 RFile file3; |
|
372 TFileName del005A = KNibblesDEL005A; |
|
373 TInt fileError = file3.Open(fsSession2, del005A, EFileRead); |
|
374 file3.Close(); |
|
375 |
|
376 //check that file was saved |
|
377 RFile file4; |
|
378 TFileName del005B = KNibblesDEL005B; |
|
379 TInt fileError2 = file4.Open(fsSession2, del005B, EFileRead); |
|
380 file4.Close(); |
|
381 |
|
382 //check that file was saved |
|
383 RFile file5; |
|
384 TFileName del005C = KNibblesDEL005C; |
|
385 TInt fileError3 = file5.Open(fsSession2, del005C, EFileRead); |
|
386 file5.Close(); |
|
387 fsSession2.Close(); |
|
388 |
|
389 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(10) delayedBool=%d !aError=%d fileError=%d !fileError2=%d !fileError3=%d"), delayedBool, !aError, !(!fileError), !fileError2, !fileError3 ); |
|
390 assertion = ( delayedBool && !aError && !(!fileError) && !fileError2 && !fileError3 ); |
|
391 } |
|
392 break; |
|
393 } |
|
394 case EDEL006p1: |
|
395 { |
|
396 //check that file was saved |
|
397 RFs fsSession2; |
|
398 TInt connectErr = fsSession2.Connect(); |
|
399 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11) connectErr=%d"), connectErr ); |
|
400 RFile file5; |
|
401 TFileName del006A = KNibblesDEL006A; |
|
402 TInt fileError3 = file5.Open(fsSession2, del006A, EFileRead); |
|
403 file5.Close(); |
|
404 |
|
405 if( iFSQ->ActionsLeft() == 0 ) |
|
406 { |
|
407 //we should be done with the rest... |
|
408 |
|
409 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11)")); |
|
410 CActiveScheduler::Stop(); |
|
411 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11)")); |
|
412 |
|
413 //check that file was deleted |
|
414 RFile file3; |
|
415 TFileName del006C = KNibblesDEL006C; |
|
416 TInt fileError = file3.Open(fsSession2, del006C, EFileRead); |
|
417 file3.Close(); |
|
418 |
|
419 //check that file was saved |
|
420 RFile file4; |
|
421 TFileName del006B = KNibblesDEL006B; |
|
422 TInt fileError2 = file4.Open(fsSession2, del006B, EFileRead); |
|
423 file4.Close(); |
|
424 |
|
425 |
|
426 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(11) delayedBool=%d !aError=%d fileError=%d fileError2=%d !fileError3=%d"), delayedBool, !aError, !(!fileError), !(!fileError2), !fileError3 ); |
|
427 assertion = ( delayedBool && !aError && !(!fileError) && !(!fileError2) && !fileError3 ); |
|
428 } |
|
429 |
|
430 fsSession2.Close(); |
|
431 break; |
|
432 } |
|
433 case EREN003p1: |
|
434 { |
|
435 if( numToSave == numSaved ) |
|
436 { |
|
437 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15)")); |
|
438 CActiveScheduler::Stop(); |
|
439 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15)")); |
|
440 |
|
441 //check that file was renamed |
|
442 RFs fsSession2; |
|
443 TInt connectErr = fsSession2.Connect(); |
|
444 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15) connectErr=%d"), connectErr ); |
|
445 RFile file3; |
|
446 TFileName ren003A2 = KNibblesREN003A2; |
|
447 TInt fileError = file3.Open(fsSession2, ren003A2, EFileRead); |
|
448 file3.Close(); |
|
449 |
|
450 //check that file was saved |
|
451 RFile file4; |
|
452 TFileName ren003B = KNibblesREN003B; |
|
453 TInt fileError2 = file4.Open(fsSession2, ren003B, EFileRead); |
|
454 file4.Close(); |
|
455 |
|
456 //check that file was renamed (so this one wont exist anymore) |
|
457 RFile file5; |
|
458 TFileName ren003A = KNibblesREN003A; |
|
459 TInt fileError3 = file5.Open(fsSession2, ren003A, EFileRead); |
|
460 file5.Close(); |
|
461 fsSession2.Close(); |
|
462 |
|
463 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(15) delayedBool=%d !aError=%d !fileError=%d !fileError2=%d !!fileError3=%d"), delayedBool, !aError, !fileError, !fileError2, !(!fileError3) ); |
|
464 assertion = ( delayedBool && !aError && !fileError && !fileError2 && !(!fileError3) ); |
|
465 } |
|
466 break; |
|
467 } |
|
468 case EREN004p1: |
|
469 { |
|
470 if( numToSave == numSaved ) |
|
471 { |
|
472 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(16)")); |
|
473 CActiveScheduler::Stop(); |
|
474 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(16)")); |
|
475 |
|
476 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(16) delayedBool=%d !aError=%d"), delayedBool, !aError ); |
|
477 assertion = ( delayedBool && !aError ); |
|
478 } |
|
479 break; |
|
480 } |
|
481 case EREN005p1: |
|
482 { |
|
483 if( numToSave == numSaved ) |
|
484 { |
|
485 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17)")); |
|
486 CActiveScheduler::Stop(); |
|
487 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17)")); |
|
488 |
|
489 //check that file was renamed |
|
490 RFs fsSession2; |
|
491 TInt connectErr = fsSession2.Connect(); |
|
492 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17) connectErr=%d"), connectErr ); |
|
493 RFile file3; |
|
494 TFileName ren005A2 = KNibblesREN005A2; |
|
495 TInt fileError = file3.Open(fsSession2, ren005A2, EFileRead); |
|
496 file3.Close(); |
|
497 |
|
498 //check that file was saved |
|
499 RFile file4; |
|
500 TFileName ren005B = KNibblesREN005B; |
|
501 TInt fileError2 = file4.Open(fsSession2, ren005B, EFileRead); |
|
502 file4.Close(); |
|
503 |
|
504 //check that file was renamed (so this one wont exist anymore) |
|
505 RFile file5; |
|
506 TFileName ren005A = KNibblesREN005A; |
|
507 TInt fileError3 = file5.Open(fsSession2, ren005A, EFileRead); |
|
508 file5.Close(); |
|
509 |
|
510 //check that file was saved |
|
511 RFile file6; |
|
512 TFileName ren005C = KNibblesREN005C; |
|
513 TInt fileError4 = file6.Open(fsSession2, ren005C, EFileRead); |
|
514 file6.Close(); |
|
515 fsSession2.Close(); |
|
516 |
|
517 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17) delayedBool=%d !aError=%d !fileError=%d !fileError2=%d !!fileError3=%d !fileError4=%d"), delayedBool, !aError, !fileError, !fileError2, !(!fileError3), !fileError4 ); |
|
518 assertion = ( delayedBool && !aError && !fileError && !fileError2 && !(!fileError3) && !fileError4 ); |
|
519 } |
|
520 break; |
|
521 } |
|
522 case EREN006p1: |
|
523 { |
|
524 if( numToSave == numSaved ) |
|
525 { |
|
526 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(18)")); |
|
527 CActiveScheduler::Stop(); |
|
528 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(18)")); |
|
529 |
|
530 //check that file was renamed |
|
531 RFs fsSession2; |
|
532 TInt connectErr = fsSession2.Connect(); |
|
533 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(18) connectErr=%d"), connectErr ); |
|
534 RFile file3; |
|
535 TFileName ren006C2 = KNibblesREN006C2; |
|
536 TInt fileError = file3.Open(fsSession2, ren006C2, EFileRead); |
|
537 file3.Close(); |
|
538 |
|
539 //check that file was saved |
|
540 RFile file4; |
|
541 TFileName ren006B2 = KNibblesREN006B2; |
|
542 TInt fileError2 = file4.Open(fsSession2, ren006B2, EFileRead); |
|
543 file4.Close(); |
|
544 |
|
545 //check that file was renamed (so this one wont exist anymore) |
|
546 RFile file5; |
|
547 TFileName ren006B = KNibblesREN006B; |
|
548 TInt fileError3 = file5.Open(fsSession2, ren006B, EFileRead); |
|
549 file5.Close(); |
|
550 |
|
551 //check that file was saved |
|
552 RFile file6; |
|
553 TFileName ren006A = KNibblesREN006A; |
|
554 TInt fileError4 = file6.Open(fsSession2, ren006A, EFileRead); |
|
555 file6.Close(); |
|
556 |
|
557 //check that file was renamed (so this one wont exist anymore) |
|
558 RFile file7; |
|
559 TFileName ren006C = KNibblesREN006C; |
|
560 TInt fileError5 = file7.Open(fsSession2, ren006C, EFileRead); |
|
561 file7.Close(); |
|
562 |
|
563 fsSession2.Close(); |
|
564 |
|
565 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(17) delayedBool=%d !aError=%d !fileError=%d !fileError2=%d !!fileError3=%d !fileError4=%d !!fileError5=%d"), delayedBool, !aError, !fileError, !fileError2, !(!fileError3), !fileError4, !(!fileError5) ); |
|
566 assertion = ( delayedBool && !aError && !fileError && !fileError2 && !(!fileError3) && !fileError4 && !(!fileError5) ); |
|
567 } |
|
568 break; |
|
569 } |
|
570 case EADD006p1: |
|
571 { |
|
572 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(19)")); |
|
573 CActiveScheduler::Stop(); |
|
574 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(19)")); |
|
575 assertion = ( delayedBool && ( aError == KErrAlreadyExists )); |
|
576 break; |
|
577 } |
|
578 case ECANCEL001p1: |
|
579 { |
|
580 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(ECANCEL001p1) delayedBool=%d !aError=%d"), delayedBool, !aError ); |
|
581 // do nothing, we are waiting for cancel |
|
582 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent(ECANCEL001p1)")); |
|
583 break; |
|
584 } |
|
585 default: |
|
586 break; |
|
587 } |
|
588 |
|
589 RDebug::Print( _L("CAFSQTestAsynchSave::MAFSQEvent out") ); |
|
590 } |
|
591 |
|
592 MTest* CAFSQTestAsynchSave::suiteL () |
|
593 { |
|
594 // An own static function to collect the test functions into one |
|
595 // suite of tests. The framework will run the tests and free the |
|
596 // memory allocated for the test suite. |
|
597 |
|
598 RDebug::Print( _L("CAFSQTestAsynchSave::suiteL in") ); |
|
599 |
|
600 // Always use NewL (Do not use NewLC here) |
|
601 CTestSuite *suite = CTestSuite::NewL( _L8("CAFSQTestAsynchSave") ); |
|
602 |
|
603 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTFILEMANNEWLRETURNSNOTNULL.001"), &TestFileManNewLReturnsNotNullL ) ); |
|
604 |
|
605 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDESTRUCTOR.001"), &TestDestructorL ) ); |
|
606 |
|
607 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTSETPRIORITY.001"), &TestSetPriorityL ) ); |
|
608 |
|
609 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTCANCEL.001"), &TestCancelL ) ); |
|
610 |
|
611 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.001"), &TestAddEmptyObjectToQueueL ) ); |
|
612 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.002"), &TestAddObjectToEmptyQueueL ) ); |
|
613 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.003"), &TestAddObjectToEmptyQueueWillSaveL ) ); |
|
614 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.004"), &TestAddObjectToNonEmptyQueueL ) ); |
|
615 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.005"), &TestAddObjectToNonEmptyQueueWillSaveL ) ); |
|
616 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.006"), &TestAddObjectThatExistsAlreadyL ) ); |
|
617 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTADDOBJECT.007"), &TestAddObjectToEmptyQueueLManualStart ) ); |
|
618 |
|
619 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.001"), &TestDeleteFromEmptyNotExistL ) ); |
|
620 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.002"), &TestDeleteFromEmptyExistsL ) ); |
|
621 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.003"), &TestDeleteNonEmptyExistsButNotInQueueL ) ); |
|
622 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.004"), &TestDeleteNonEmptyNotExistAndNotInQueueL ) ); |
|
623 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.005"), &TestDeleteInQueueNotActiveL ) ); |
|
624 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTDELETEOBJECT.006"), &TestDeleteInQueueActiveL ) ); |
|
625 |
|
626 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.001"), &TestRenameFromEmptyNotExistL ) ); |
|
627 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.002"), &TestRenameFromEmptyExistsL ) ); |
|
628 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.003"), &TestRenameNonEmptyExistsButNotInQueueL ) ); |
|
629 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.004"), &TestRenameNonEmptyNotExistAndNotInQueueL ) ); |
|
630 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.005"), &TestRenameInQueueNotActiveL ) ); |
|
631 suite->addTestL( CTestCaller<CAFSQTestAsynchSave>::NewL( _L8("CAE.FM.TESTRENAMEOBJECT.006"), &TestRenameInQueueActiveL ) ); |
|
632 |
|
633 RDebug::Print( _L("CAFSQTestAsynchSave::suiteL returning") ); |
|
634 return suite; |
|
635 } |
|
636 |