|
1 // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // XML_Test.h |
|
15 // Header file for Libxml2Tester |
|
16 // |
|
17 |
|
18 |
|
19 #ifndef XML_TEST_H |
|
20 #define XML_TEST_H |
|
21 |
|
22 // INCLUDES |
|
23 #include <domain/osextensions/StifLogger.h> |
|
24 #include <domain/osextensions/TestScripterInternal.h> |
|
25 #include <domain/osextensions/StifTestModule.h> |
|
26 #include <f32file.h> |
|
27 #include <Xml\XmlParserErrors.h> |
|
28 |
|
29 #include <xmlengdom.h> |
|
30 #include <XmlEngErrors.h> |
|
31 // This include is not required anymore. |
|
32 // #include <XmlEngXPathObject.h> |
|
33 #include <XmlEngDOMParser.h> |
|
34 |
|
35 #include "XmlEngDeserializer.h" |
|
36 #include "XmlEngDeserializerDOM.h" |
|
37 #include "XmlEngSerializer.h" |
|
38 #include <XmlEngXPathResult.h> |
|
39 |
|
40 // CONSTANTS |
|
41 |
|
42 // MACROS |
|
43 // Logging path |
|
44 _LIT( KXML_TestLogPath, "\\logs\\Libxml2Tester\\" ); |
|
45 // Log file |
|
46 _LIT( KXML_TestLogFile, "Libxml2Tester.txt" ); |
|
47 |
|
48 _LIT( KTEST_NAME, "Libxml2Tester" ); |
|
49 |
|
50 _LIT8(KXmlMimeType, "text/xml"); |
|
51 |
|
52 // parser implementation |
|
53 _LIT8(KImplementationID, ""); |
|
54 // FUNCTION PROTOTYPES |
|
55 |
|
56 // FORWARD DECLARATIONS |
|
57 class CXML_Test; |
|
58 class RXmlEngXPathResult; |
|
59 |
|
60 // DATA TYPES |
|
61 |
|
62 // CLASS DECLARATION |
|
63 |
|
64 /** |
|
65 * CXML_Test test class for STIF Test Framework TestScripter. |
|
66 * ?other_description_lines |
|
67 * |
|
68 * @since ?Series60_version |
|
69 */ |
|
70 NONSHARABLE_CLASS(CLibxml2Tester) : public CScriptBase |
|
71 { |
|
72 public: // Constructors and destructor |
|
73 |
|
74 /** |
|
75 * Two-phased constructor. |
|
76 */ |
|
77 static CLibxml2Tester* NewL( CTestModuleIf& aTestModuleIf ); |
|
78 |
|
79 /** |
|
80 * Destructor. |
|
81 */ |
|
82 virtual ~CLibxml2Tester(); |
|
83 |
|
84 public: // New functions |
|
85 |
|
86 /** |
|
87 * ?member_description. |
|
88 * @since ?Series60_version |
|
89 * @param ?arg1 ?description |
|
90 * @return ?description |
|
91 */ |
|
92 |
|
93 public: // Functions from base classes |
|
94 |
|
95 /** |
|
96 * From CScriptBase Runs a script line. |
|
97 * @since ?Series60_version |
|
98 * @param aItem Script line containing method name and parameters |
|
99 * @return Symbian OS error code |
|
100 */ |
|
101 virtual TInt RunMethodL( CStifItemParser& aItem ); |
|
102 |
|
103 protected: // New functions |
|
104 |
|
105 /** |
|
106 * ?member_description. |
|
107 * @since ?Series60_version |
|
108 * @param ?arg1 ?description |
|
109 * @return ?description |
|
110 */ |
|
111 |
|
112 protected: // Functions from base classes |
|
113 |
|
114 /** |
|
115 * From ?base_class ?member_description |
|
116 */ |
|
117 |
|
118 private: |
|
119 |
|
120 /** |
|
121 * C++ default constructor. |
|
122 */ |
|
123 CLibxml2Tester( CTestModuleIf& aTestModuleIf ); |
|
124 |
|
125 /** |
|
126 * By default Symbian 2nd phase constructor is private. |
|
127 */ |
|
128 void ConstructL(); |
|
129 |
|
130 |
|
131 /** |
|
132 * Frees all resources allocated from test methods. |
|
133 * @since ?Series60_version |
|
134 */ |
|
135 void Delete(); |
|
136 |
|
137 /** |
|
138 * Test methods are listed below. |
|
139 */ |
|
140 /**************************** TEST *************************************/ |
|
141 /** |
|
142 * comparing two files ( skip or not skip white space ). |
|
143 * @since ?Series60_version |
|
144 * @param aItem Script line containing parameters. |
|
145 * @return Symbian OS error code. |
|
146 */ |
|
147 TInt CompareFilesL( CStifItemParser& aItem ); |
|
148 |
|
149 /** |
|
150 * comparing two strings; |
|
151 * @since ?Series60_version |
|
152 * @param aString string. |
|
153 * @param aDesc string. |
|
154 * @return true if strings are the same. |
|
155 */ |
|
156 TBool CompareDescAndChar(const char* aString, TDesC8& aDesc); |
|
157 |
|
158 /** |
|
159 * comparing two strings; |
|
160 * @since ?Series60_version |
|
161 * @param aString string. |
|
162 * @param aDesc string. |
|
163 * @return true if strings are the same. |
|
164 */ |
|
165 TBool CompareDescAndChar(const TUint8* aString,TDesC8& aDesc); |
|
166 |
|
167 /** |
|
168 * comparing two strings; |
|
169 * @since ?Series60_version |
|
170 * @param aString1 string. |
|
171 * @param aString2 string. |
|
172 * @return true if strings are the same. |
|
173 */ |
|
174 TBool CompareChars(const char* aString1,const char* aString2); |
|
175 |
|
176 |
|
177 /****************************** SAX *************************************/ |
|
178 /** |
|
179 * Parsing xml file using SAX. |
|
180 * @since ?Series60_version |
|
181 * @param aItem Script line containing parameters. |
|
182 * @return Symbian OS error code. |
|
183 */ |
|
184 virtual TInt ParseFileSAXL( CStifItemParser& aItem ); |
|
185 |
|
186 /** |
|
187 * Parsing xml file using SAX with name space reporting. |
|
188 * @since ?Series60_version |
|
189 * @param aItem Script line containing parameters. |
|
190 * @return Symbian OS error code. |
|
191 */ |
|
192 virtual TInt ParseFileSAXNSL( CStifItemParser& aItem ); |
|
193 |
|
194 /** |
|
195 * Parsing xml file using SAX and convert tags name to lower case. |
|
196 * @since ?Series60_version |
|
197 * @param aItem Script line containing parameters. |
|
198 * @return Symbian OS error code. |
|
199 */ |
|
200 virtual TInt ParseFileSAXLowerCaseL( CStifItemParser& aItem ); |
|
201 |
|
202 /** |
|
203 * Parsing xml file using SAX with skipping entities from external subset feature on. |
|
204 * @since ?Series60_version |
|
205 * @param aItem Script line containing parameters. |
|
206 * @return Symbian OS error code. |
|
207 */ |
|
208 virtual TInt ParseFileSAXExternalSubsetL( CStifItemParser& aItem ); |
|
209 |
|
210 /** |
|
211 * Parsing xml from buffer using SAX. |
|
212 * @since ?Series60_version |
|
213 * @param aItem Script line containing parameters. |
|
214 * @return Symbian OS error code. |
|
215 */ |
|
216 virtual TInt ParseBufSAXL( CStifItemParser& aItem ); |
|
217 |
|
218 /******************************* DOM *************************************/ |
|
219 /** |
|
220 * Parsing xml file using SAX. As output is generated xml file. |
|
221 * @since ?Series60_version |
|
222 * @param aItem Script line containing parameters. |
|
223 * @return Symbian OS error code. |
|
224 */ |
|
225 virtual TInt ParseFileDomL( CStifItemParser& aItem ); |
|
226 |
|
227 /** |
|
228 * Parsing xml file using SAX. As output is generated xml file. |
|
229 * @since ?Series60_version |
|
230 * @param aItem Script line containing parameters. |
|
231 * @return Symbian OS error code. |
|
232 */ |
|
233 virtual TInt SaveXmlToFileDomL( CStifItemParser& aItem ); |
|
234 |
|
235 virtual TInt CreateDocumentL( CStifItemParser& aItem ); |
|
236 |
|
237 virtual TInt CheckInnerXmlL( CStifItemParser& ); |
|
238 |
|
239 virtual TInt CheckOuterXmlL( CStifItemParser& ); |
|
240 |
|
241 virtual TInt CreateDocumentFromNodeL( CStifItemParser& aItem ); |
|
242 |
|
243 virtual TInt CheckDocumentParametersL( CStifItemParser& aItem ); |
|
244 |
|
245 virtual TInt CreateDocumentElementL( CStifItemParser& aItem ); |
|
246 |
|
247 virtual TInt SaveXmlToBufferUTF16L( CStifItemParser& aItem ); |
|
248 |
|
249 virtual TInt TestNodeFilterL( CStifItemParser& aItem ); |
|
250 |
|
251 virtual TInt CloneDocumentL( CStifItemParser& aItem ); |
|
252 |
|
253 virtual TInt CheckNotNullElementL( CStifItemParser& aItem ); |
|
254 |
|
255 virtual TInt CheckSiblingFunctionsL( CStifItemParser& aItem ); |
|
256 |
|
257 virtual TInt CheckNodeParametersL( CStifItemParser& aItem); |
|
258 |
|
259 virtual TInt ParentNodesL( CStifItemParser& aItem ); |
|
260 |
|
261 //virtual TInt NameModificationL( CStifItemParser& aItem ); |
|
262 |
|
263 virtual TInt CheckNamespacesL( CStifItemParser& aItem ); |
|
264 |
|
265 virtual TInt CheckProcessingInstructionL( CStifItemParser& aItem ); |
|
266 |
|
267 virtual TInt CheckCommentsL( CStifItemParser& aItem ); |
|
268 |
|
269 virtual TInt CheckCDATAL( CStifItemParser& aItem); |
|
270 |
|
271 virtual TInt CheckTextNodeL( CStifItemParser& aItem); |
|
272 |
|
273 //virtual TInt CheckDocumentFragmentL( CStifItemParser& aItem ); |
|
274 |
|
275 virtual TInt NodeNamespacePocessingL( CStifItemParser& aItem ); |
|
276 |
|
277 virtual TInt CheckEntityRefL( CStifItemParser& aItem ); |
|
278 |
|
279 virtual TInt NodeTreeModificationL( CStifItemParser& aItem); |
|
280 |
|
281 virtual TInt NodeTreeDeletingL( CStifItemParser& aItem); |
|
282 |
|
283 virtual TInt CheckNodeListL( CStifItemParser& aItem ); |
|
284 |
|
285 virtual TInt ElementNamespacePocessingL( CStifItemParser& aItem ); |
|
286 |
|
287 virtual TInt CheckAttributesL( CStifItemParser& aItem ); |
|
288 |
|
289 virtual TInt CheckElementAttributesL( CStifItemParser& aItem ); |
|
290 |
|
291 virtual TInt CheckModifAttributesL( CStifItemParser& aItem ); |
|
292 |
|
293 virtual TInt AddingAttributesL( CStifItemParser& aItem ); |
|
294 |
|
295 virtual TInt AddingElementsL( CStifItemParser& aItem ); |
|
296 |
|
297 virtual TInt CheckModifElementL( CStifItemParser& aItem ); |
|
298 |
|
299 virtual TInt SetElementTextL( CStifItemParser& aItem ); |
|
300 |
|
301 virtual TInt CheckNextL( CStifItemParser& aItem ); |
|
302 |
|
303 virtual TInt AddXmlIdL( CStifItemParser& aItem ); |
|
304 virtual TInt FindXmlIdL( CStifItemParser& aItem ); |
|
305 virtual TInt SetValueNoEncTestL(CStifItemParser& aItem); |
|
306 virtual TInt CreateDocument2L( CStifItemParser& aItem ); |
|
307 virtual TInt CreateEntityReferenceTestL(CStifItemParser& aItem); |
|
308 virtual TInt ParseFileDom2L( CStifItemParser& aItem ); |
|
309 virtual TInt ParseFileDom3L( CStifItemParser& aItem ); |
|
310 virtual TInt LookupNamespaceByPrefixTestL( CStifItemParser& aItem ); |
|
311 virtual TInt LookupNamespaceByUriTestL( CStifItemParser& aItem ); |
|
312 virtual TInt LookupNamespaceByPrefixTest2L( CStifItemParser& aItem ); |
|
313 virtual TInt LookupNamespaceByUriTest2L( CStifItemParser& aItem ); |
|
314 virtual TInt RemoveChildrenTestL( CStifItemParser& aItem); |
|
315 virtual TInt UserDataTestL( CStifItemParser& aItem ); |
|
316 virtual TInt BaseUriTestL( CStifItemParser& /*aItem*/ ); |
|
317 virtual TInt AddXmlIdTestL( CStifItemParser& aItem); |
|
318 virtual TInt AddXmlId2L( CStifItemParser& aItem ); |
|
319 virtual TInt AddXmlId3L( CStifItemParser& aItem ); |
|
320 /******************************* BinCont ************************************/ |
|
321 /** |
|
322 * Test binary container function |
|
323 * @since ?Series60_version |
|
324 * @param aItem Script line containing parameters. |
|
325 * @return Symbian OS error code. |
|
326 */ |
|
327 virtual TInt BinaryContainerL(CStifItemParser& aItem); |
|
328 virtual TInt PartialBinaryContainerL(CStifItemParser& aItem); |
|
329 virtual TInt TestCreateBinaryContainerL( TPtrC8 aCid, TPtrC8 binaryDataPtr, TPtrC pOut); |
|
330 virtual TInt TestSizeOfBinaryContainerL( RXmlEngDocument& iDocument, TPtrC8 aCid,TPtrC8 binaryDataPtr, TInt size ); |
|
331 virtual TInt TestBinaryContainerNodeTypeL( RXmlEngDocument& iDocument, TPtrC8 aCid,TPtrC8 bufferPtr ); |
|
332 virtual TInt TestContentsOfBinaryContainerL( RXmlEngDocument& iDocument, TPtrC8 aCid,TPtrC8 binaryDataPtr, TPtrC pOut1); |
|
333 virtual TInt TestMoveBinaryContainerL( RXmlEngDocument& iDoc1, RXmlEngDocument& iDoc2, TPtrC8 aCid, TPtrC8 binaryDataPtr, TPtrC pOut1, TPtrC pOut2); |
|
334 virtual TInt TestRemoveBinaryContainerL( RXmlEngDocument& iDocument, TPtrC8 aCid,TPtrC8 binaryDataPtr, TPtrC pOut1, TPtrC pOut2 ); |
|
335 virtual TInt TestCopyBinaryContainerL( RXmlEngDocument& iDocument, TPtrC8 aCid, TPtrC8 binaryDataPtr, TPtrC pOut1, TPtrC pOut2 ); |
|
336 virtual TInt TestReplaceBinaryContainerL( RXmlEngDocument& iDoc1, RXmlEngDocument& iDoc2, |
|
337 TPtrC8 aCid, TPtrC8 binaryDataPtr, TPtrC pOut1, TPtrC pOut2); |
|
338 virtual TInt TestAppendContentsL(CStifItemParser& aItem); |
|
339 virtual TInt BinaryContainer_GetListL( CStifItemParser& aItem ); |
|
340 virtual TInt BinaryContainer_GetList2L( CStifItemParser& aItem ); |
|
341 virtual TInt BinaryContainer_CidErrorL( CStifItemParser& aItem ); |
|
342 virtual TInt BinaryContainer_RemoveL( CStifItemParser& /*aItem*/ ); |
|
343 virtual TInt BinaryContainer_Remove2L( CStifItemParser& /*aItem*/ ); |
|
344 virtual TInt BinaryContainer_Remove3L( CStifItemParser& /*aItem*/ ); |
|
345 virtual TInt BinaryContainer_UnlinkL( CStifItemParser& /*aItem*/ ); |
|
346 virtual TInt BinaryContainer_ReplaceWithL( CStifItemParser& /*aItem*/ ); |
|
347 virtual TInt BinaryContainer_SubstituteForL( CStifItemParser& /*aItem*/ ); |
|
348 virtual TInt BinaryContainer_CopyL( CStifItemParser& /*aItem*/ ); |
|
349 virtual TInt BinaryContainer_Copy2L( CStifItemParser& /*aItem*/ ); |
|
350 virtual TInt BinaryContainer_Copy3L( CStifItemParser& /*aItem*/ ); |
|
351 virtual TInt BinaryContainer_Copy4L( CStifItemParser& /*aItem*/ ); |
|
352 virtual TInt BinaryContainer_CopyToL( CStifItemParser& /*aItem*/ ); |
|
353 virtual TInt BinaryContainer_CloneL( CStifItemParser& /*aItem*/ ); |
|
354 virtual TInt BinaryContainer_AdoptNodeL( CStifItemParser& /*aItem*/ ); |
|
355 virtual TInt BinaryContainer_SetAsFirstSiblingL( CStifItemParser& /*aItem*/ ); |
|
356 virtual TInt BinaryContainer_SetAsLastSiblingL( CStifItemParser& /*aItem*/ ); |
|
357 virtual TInt BinaryContainer_MoveBeforeSiblingL( CStifItemParser& /*aItem*/ ); |
|
358 virtual TInt BinaryContainer_MoveAfterSiblingL( CStifItemParser& /*aItem*/ ); |
|
359 virtual TInt BinaryContainer_MoveToL( CStifItemParser& /*aItem*/ ); |
|
360 virtual TInt BinaryContainer_ReconcileNamespacesL( CStifItemParser& /*aItem*/ ); |
|
361 |
|
362 /******************************* CHUNK *************************************/ |
|
363 virtual TInt ParseFileChunkL( CStifItemParser& aItem ); |
|
364 virtual TInt ChunkContainer_GetListL( CStifItemParser& aItem ); |
|
365 virtual TInt ChunkContainer_CidL( CStifItemParser& aItem ); |
|
366 virtual TInt ChunkContainer_CidErrorL( CStifItemParser& aItem ); |
|
367 virtual TInt ChunkContainer_ChunkL( CStifItemParser& /*aItem*/ ); |
|
368 virtual TInt ChunkContainer_OffsetL( CStifItemParser& /*aItem*/ ); |
|
369 virtual TInt ChunkContainer_SizeL( CStifItemParser& /*aItem*/ ); |
|
370 virtual TInt ChunkContainer_NodeTypeL( CStifItemParser& /*aItem*/ ); |
|
371 virtual TInt ChunkContainer_RemoveL( CStifItemParser& /*aItem*/ ); |
|
372 virtual TInt ChunkContainer_Remove2L( CStifItemParser& /*aItem*/ ); |
|
373 virtual TInt ChunkContainer_Remove3L( CStifItemParser& /*aItem*/ ); |
|
374 virtual TInt ChunkContainer_UnlinkL( CStifItemParser& /*aItem*/ ); |
|
375 virtual TInt ChunkContainer_ReplaceWithL( CStifItemParser& /*aItem*/ ); |
|
376 virtual TInt ChunkContainer_SubstituteForL( CStifItemParser& /*aItem*/ ); |
|
377 virtual TInt ChunkContainer_CopyL( CStifItemParser& /*aItem*/ ); |
|
378 virtual TInt ChunkContainer_Copy2L( CStifItemParser& /*aItem*/ ); |
|
379 virtual TInt ChunkContainer_Copy3L( CStifItemParser& /*aItem*/ ); |
|
380 virtual TInt ChunkContainer_Copy4L( CStifItemParser& /*aItem*/ ); |
|
381 virtual TInt ChunkContainer_CopyToL( CStifItemParser& /*aItem*/ ); |
|
382 virtual TInt ChunkContainer_CloneL( CStifItemParser& /*aItem*/ ); |
|
383 virtual TInt ChunkContainer_AdoptNodeL( CStifItemParser& /*aItem*/ ); |
|
384 virtual TInt ChunkContainer_SetAsFirstSiblingL( CStifItemParser& /*aItem*/ ); |
|
385 virtual TInt ChunkContainer_SetAsLastSiblingL( CStifItemParser& /*aItem*/ ); |
|
386 virtual TInt ChunkContainer_MoveBeforeSiblingL( CStifItemParser& /*aItem*/ ); |
|
387 virtual TInt ChunkContainer_MoveAfterSiblingL( CStifItemParser& /*aItem*/ ); |
|
388 virtual TInt ChunkContainer_MoveToL( CStifItemParser& /*aItem*/ ); |
|
389 virtual TInt ChunkContainer_ReconcileNamespacesL( CStifItemParser& /*aItem*/ ); |
|
390 /******************************* FILE CONTAINER *************************************/ |
|
391 virtual TInt FileContainer_GetListL( CStifItemParser& /*aItem*/ ); |
|
392 virtual TInt FileContainer_CidL( CStifItemParser& /*aItem*/ ); |
|
393 virtual TInt FileContainer_CidErrorL( CStifItemParser& /*aItem*/ ); |
|
394 virtual TInt FileContainer_SizeL( CStifItemParser& /*aItem*/ ); |
|
395 virtual TInt FileContainer_FileL( CStifItemParser& /*aItem*/ ); |
|
396 virtual TInt FileContainer_NodeTypeL( CStifItemParser& /*aItem*/ ); |
|
397 virtual TInt FileContainer_RemoveL( CStifItemParser& /*aItem*/ ); |
|
398 virtual TInt FileContainer_Remove2L( CStifItemParser& /*aItem*/ ); |
|
399 virtual TInt FileContainer_Remove3L( CStifItemParser& /*aItem*/ ); |
|
400 virtual TInt FileContainer_UnlinkL( CStifItemParser& /*aItem*/ ); |
|
401 virtual TInt FileContainer_ReplaceWithL( CStifItemParser& /*aItem*/ ); |
|
402 virtual TInt FileContainer_SubstituteForL( CStifItemParser& /*aItem*/ ); |
|
403 virtual TInt FileContainer_CopyL( CStifItemParser& /*aItem*/ ); |
|
404 virtual TInt FileContainer_Copy2L( CStifItemParser& /*aItem*/ ); |
|
405 virtual TInt FileContainer_Copy3L( CStifItemParser& /*aItem*/ ); |
|
406 virtual TInt FileContainer_Copy4L( CStifItemParser& /*aItem*/ ); |
|
407 virtual TInt FileContainer_CopyToL( CStifItemParser& /*aItem*/ ); |
|
408 virtual TInt FileContainer_CloneL( CStifItemParser& /*aItem*/ ); |
|
409 virtual TInt FileContainer_AdoptNodeL( CStifItemParser& /*aItem*/ ); |
|
410 virtual TInt FileContainer_SetAsFirstSiblingL( CStifItemParser& /*aItem*/ ); |
|
411 virtual TInt FileContainer_SetAsLastSiblingL( CStifItemParser& /*aItem*/ ); |
|
412 virtual TInt FileContainer_MoveBeforeSiblingL( CStifItemParser& /*aItem*/ ); |
|
413 virtual TInt FileContainer_MoveAfterSiblingL( CStifItemParser& /*aItem*/ ); |
|
414 virtual TInt FileContainer_MoveToL( CStifItemParser& /*aItem*/ ); |
|
415 virtual TInt FileContainer_ReconcileNamespacesL( CStifItemParser& /*aItem*/ ); |
|
416 |
|
417 |
|
418 virtual TInt SetTextNoEncTestL(CStifItemParser& aItem); |
|
419 virtual TInt AppendTextNoEncTestL(CStifItemParser& aItem); |
|
420 /******************************* UTIL *************************************/ |
|
421 /** |
|
422 * Convert const char* to char* |
|
423 * @since ?Series60_version |
|
424 * @param aItem Script line containing parameters. |
|
425 * @return Symbian OS error code. |
|
426 */ |
|
427 virtual TInt UtilsEscapeForXmlValueL(CStifItemParser& aItem); |
|
428 |
|
429 /** |
|
430 * Generate char* from TDes |
|
431 * @since ?Series60_version |
|
432 * @param aItem Script line containing parameters. |
|
433 * @return Symbian OS error code. |
|
434 */ |
|
435 virtual TInt UtilsXmlCharFromDesL( CStifItemParser& aItem ); |
|
436 |
|
437 /** |
|
438 * Generate char* from TDes8 |
|
439 * @since ?Series60_version |
|
440 * @param aItem Script line containing parameters. |
|
441 * @return Symbian OS error code. |
|
442 */ |
|
443 virtual TInt UtilsXmlCharFromDes8L( CStifItemParser& aItem ); |
|
444 |
|
445 /******************************* XPATH ***********************************/ |
|
446 |
|
447 virtual TInt EvaluateExpressionL( CStifItemParser& aItem ); |
|
448 virtual TInt SaveResultL( CStifItemParser& aItem); |
|
449 virtual TInt ToNumberL( CStifItemParser& aItem); |
|
450 virtual TInt ToBoolL( CStifItemParser& aItem); |
|
451 virtual TInt ToStringL( CStifItemParser& aItem); |
|
452 virtual TInt InstanceL( CStifItemParser& aItem); |
|
453 virtual TInt ExtensionFunctionL( CStifItemParser& aItem); |
|
454 virtual TInt ExtensionVectorL( CStifItemParser& aItem); |
|
455 |
|
456 /* |
|
457 *Write file from RBuf8 |
|
458 * |
|
459 *@ returns void |
|
460 */ |
|
461 |
|
462 void WriteFileFromBufferL(TDesC& aFile, RBuf8& buffer); |
|
463 |
|
464 /* |
|
465 *Read aFile to HBufC8 |
|
466 * |
|
467 *@ returns buffer |
|
468 */ |
|
469 |
|
470 HBufC8* ReadFileToBufferL(TDesC& aFile); |
|
471 |
|
472 /** |
|
473 * Generates random CID |
|
474 * |
|
475 * @since S60 v3.2 |
|
476 * @param aCid randomly generated CID string |
|
477 */ |
|
478 void GenerateRandomCid(TDes8& aCid); |
|
479 |
|
480 |
|
481 |
|
482 /** |
|
483 * Saving node in XML document |
|
484 * |
|
485 * @param aCString a c-style string . |
|
486 */ |
|
487 void SaveNode(RFile aFile,TXmlEngNode aNode); |
|
488 |
|
489 /** |
|
490 * A function to use with TCleanupItem to push c-style arrays |
|
491 * on cleanup stack. It simply calls delete[] aCArray; |
|
492 * @param aCString a c-style string . |
|
493 */ |
|
494 static void CArrayCleanup( TAny* aCArray ); |
|
495 |
|
496 /** |
|
497 * Finding node in XML document |
|
498 * |
|
499 * @param aCString a c-style string . |
|
500 */ |
|
501 TXmlEngNode FindNodeL(RXmlEngDocument document, TPtrC8 pName8); // defect |
|
502 |
|
503 TInt FindElement(const TDesC8& aElementName, const TXmlEngElement& aParent, TXmlEngElement& aResult); // defect(?) |
|
504 |
|
505 /** |
|
506 * Saves XML document |
|
507 * @since ?Series60_version |
|
508 * @param aItem Script line containing parameters. |
|
509 * @return Symbian OS error code. |
|
510 */ |
|
511 virtual TInt SaveDocumentL(RXmlEngDocument& iDocument, TPtrC& pOut); |
|
512 |
|
513 /** |
|
514 * returns HBufC8 pointer to content of file with TDesC filename |
|
515 * @since ?Series60_version |
|
516 * @param aItem Script line containing parameters. |
|
517 * @return Symbian OS error code. |
|
518 */ |
|
519 virtual TInt GetHexFromPointerL(TPtrC pSerOpt); |
|
520 |
|
521 /** |
|
522 * returns TInt from TPtrC(pointer to hexadecimal value) |
|
523 * @since ?Series60_version |
|
524 * @param aItem Script line containing parameters. |
|
525 * @return Symbian OS error code. |
|
526 */ |
|
527 virtual HBufC8* ReadFileL(const TDesC& aFileName); |
|
528 |
|
529 /** |
|
530 * returns serializer / deserializer type |
|
531 * @since ?Series60_version |
|
532 * @param aItem Script line containing parameters. |
|
533 * @return Symbian OS error code. |
|
534 */ |
|
535 |
|
536 TXmlEngSerializerType RetSerializerType(TPtrC& type); |
|
537 TXmlEngDeserializerType RetDeserializerType(TPtrC& type); |
|
538 |
|
539 /** |
|
540 * creating DOM document |
|
541 * @since ?Series60_version |
|
542 * @param aItem Script line containing parameters. |
|
543 * @return Symbian OS error code. |
|
544 */ |
|
545 |
|
546 void SetupDocumentL( ); |
|
547 |
|
548 |
|
549 /******************************* Serializer ************************************/ |
|
550 /** |
|
551 * Test serializer |
|
552 * @since ?Series60_version |
|
553 * @param aItem Script line containing parameters. |
|
554 * @return Symbian OS error code. |
|
555 */ |
|
556 |
|
557 |
|
558 virtual TInt TestSerializerL(CStifItemParser& aItem); |
|
559 virtual TInt TestSetOutputFileL(CStifItemParser& aItem); |
|
560 virtual TInt TestSetOutputBufferL(CStifItemParser& aItem); |
|
561 virtual TInt TestSetOutputStreamL(CStifItemParser& aItem); |
|
562 virtual TInt TestSerializationOptionsL(CStifItemParser& aItem); |
|
563 virtual TInt TestSerializeFile1L(CStifItemParser& aItem); |
|
564 virtual TInt TestSerializeFile2L(CStifItemParser& aItem); |
|
565 virtual TInt TestSerializeFile3L(CStifItemParser& aItem); |
|
566 virtual TInt TestSerializeBufferL(CStifItemParser& aItem); |
|
567 virtual TInt TestSerializePartTreeL(CStifItemParser& aItem); |
|
568 virtual TInt TestSerializeFileBufferL(CStifItemParser& aItem); |
|
569 virtual TInt TestSerializeChildsL(CStifItemParser& aItem); |
|
570 virtual TInt TestSerializeFileConvinienceL(CStifItemParser& aItem); |
|
571 virtual TInt TestSerializeBufferConvinienceL(CStifItemParser& aItem); |
|
572 virtual TInt TestMultipleSerializeToBufferL(CStifItemParser& aItem); |
|
573 virtual TInt TestSerializationOptionsBufferL(CStifItemParser& aItem); |
|
574 virtual TInt TestContentTypeL(CStifItemParser& aItem); |
|
575 |
|
576 |
|
577 /******************************* SerXOP ************************************/ |
|
578 /** |
|
579 * Test serialize XOP function |
|
580 * @since ?Series60_version |
|
581 * @param aItem Script line containing parameters. |
|
582 * @return Symbian OS error code. |
|
583 */ |
|
584 virtual TInt SerializeXOPL(CStifItemParser& aItem); |
|
585 virtual TInt DirtySerializeXOPL(CStifItemParser& aItem); |
|
586 virtual TInt SerializeXopSoapL(CStifItemParser& aItem); |
|
587 virtual TInt MultiSerializeXopSoapL(CStifItemParser& aItem); |
|
588 virtual TInt SerializeXopFileDirtyL(CStifItemParser& aItem); |
|
589 virtual TInt SerializeXopDirtySoapL(CStifItemParser& aItem); |
|
590 virtual TInt SerializeXopBufferL(CStifItemParser& aItem); |
|
591 virtual TInt SerializeXopFileL(CStifItemParser& aItem); |
|
592 virtual TInt Serxop3diffContL(CStifItemParser& aItem); |
|
593 |
|
594 |
|
595 /** |
|
596 * Function tests, serialize XOP |
|
597 * @since ?Series60_version |
|
598 * @param aItem Script line containing parameters. |
|
599 * @return Symbian OS error code. |
|
600 */ |
|
601 virtual TInt TestSerialize1paraToFileL( RXmlEngDocument& iDocument, TPtrC pXml, |
|
602 TPtrC pSerOpt, TXmlEngSerializerType serializerType = ESerializerDefault ); |
|
603 virtual TInt TestSerialize3paraToFileL( RXmlEngDocument& iDocument, TPtrC pXml, |
|
604 TPtrC pSerOpt, TXmlEngSerializerType serializerType = ESerializerDefault ); |
|
605 virtual TInt TestSerializeRFsL( RXmlEngDocument& iDocument, TPtrC pXml, |
|
606 TPtrC pSerOpt, TXmlEngSerializerType serializerType = ESerializerDefault ); |
|
607 virtual TInt TestSerializeToBufferL( RXmlEngDocument& iDocument, TPtrC pXml, |
|
608 TPtrC pSerOpt, TXmlEngSerializerType serializerType = ESerializerDefault ); |
|
609 /** |
|
610 * Saves XML document with added binary data |
|
611 * @since ?Series60_version |
|
612 * @param aItem Script line containing parameters. |
|
613 * @return Symbian OS error code. |
|
614 */ |
|
615 virtual TInt SaveXmlWithBinaryDataL(RXmlEngDocument& iDocument, TPtrC serOptions, |
|
616 TPtrC pData, TPtrC pXml, TPtrC pOut, TBool multiNode = FALSE); |
|
617 virtual TInt SerializeDefaultFileL( CStifItemParser& aItem ); |
|
618 /******************************* SerGZIP ************************************/ |
|
619 /** |
|
620 * Function tests, serialize GZIP |
|
621 * @since ?Series60_version |
|
622 * @param aItem Script line containing parameters. |
|
623 * @return Symbian OS error code. |
|
624 */ |
|
625 virtual TInt SerializeGZIPL(CStifItemParser& aItem); |
|
626 virtual TInt DecompressGZIPL(CStifItemParser& aItem); |
|
627 virtual TInt DecompressBufferGZIPL(CStifItemParser& aItem); |
|
628 virtual TInt CompressBufferGZIPL(CStifItemParser& aItem); |
|
629 virtual TInt SerializeDirtyGzipL(CStifItemParser& aItem); |
|
630 |
|
631 |
|
632 /******************************* Deserialize ************************************/ |
|
633 virtual TInt DeserializeL( CStifItemParser& aItem); |
|
634 virtual TInt Deserialize2L( CStifItemParser& aItem); |
|
635 virtual TInt DeserializeFromFileL( CStifItemParser& aItem); |
|
636 virtual TInt DeserializeFromBufferL(CStifItemParser& aItem); |
|
637 virtual TInt TestDeserializerL(CStifItemParser& aItem); |
|
638 virtual TInt TestSetInputFileL(CStifItemParser& aItem); |
|
639 virtual TInt TestSetInputBufferL(CStifItemParser& aItem); |
|
640 virtual TInt TestSetContentHandlerL(CStifItemParser& aItem); |
|
641 virtual TInt TestEnableFeatureL(CStifItemParser& aItem); |
|
642 virtual TInt TestDisableFeatureL(CStifItemParser& aItem); |
|
643 virtual TInt TestIsFeatureEnabledL(CStifItemParser& aItem); |
|
644 virtual TInt TestUseExternalDataL(CStifItemParser& aItem); |
|
645 virtual TInt TestExternalDataL(CStifItemParser& aItem); |
|
646 virtual TInt TestDesFileConvinienceL(CStifItemParser& aItem); |
|
647 virtual TInt TestDesBufferConvinienceL(CStifItemParser& aItem); |
|
648 virtual TInt TestDeserializerBufferL(CStifItemParser& aItem); |
|
649 virtual TInt TestSetParsingOptions1L(CStifItemParser& aItem); |
|
650 |
|
651 virtual TInt DeserializeInfosetL(CStifItemParser& aItem); |
|
652 virtual TInt Deserialize2InfosetL(CStifItemParser& aItem); |
|
653 virtual TInt DeserializeFromFileInfosetL(CStifItemParser& aItem); |
|
654 virtual TInt DeserializeFromBufferInfosetL(CStifItemParser& aItem); |
|
655 virtual TInt TestDeserializerInfosetL(CStifItemParser& aItem); |
|
656 virtual TInt TestSetInputFileInfosetL(CStifItemParser& aItem); |
|
657 virtual TInt TestSetInputBufferInfosetL(CStifItemParser& aItem); |
|
658 virtual TInt TestSetContentHandlerInfosetL(CStifItemParser& aItem); |
|
659 virtual TInt TestEnableFeatureInfosetL(CStifItemParser& aItem); |
|
660 virtual TInt TestDisableFeatureInfosetL(CStifItemParser& aItem); |
|
661 virtual TInt TestIsFeatureEnabledInfosetL(CStifItemParser& aItem); |
|
662 virtual TInt TestUseExternalDataInfosetL(CStifItemParser& aItem); |
|
663 virtual TInt TestExternalDataInfosetL(CStifItemParser& aItem); |
|
664 virtual TInt TestDesFileConvinienceInfosetL(CStifItemParser& aItem); |
|
665 virtual TInt TestDesBufferConvinienceInfosetL(CStifItemParser& aItem); |
|
666 virtual TInt TestDeserializerBufferInfosetL(CStifItemParser& aItem); |
|
667 |
|
668 /******************************* DeserializeDOM ************************************/ |
|
669 virtual TInt DOMDeserializeL( CStifItemParser& aItem); |
|
670 virtual TInt DOMDeserialize2L( CStifItemParser& aItem); |
|
671 virtual TInt DOMDeserializeFromFileL( CStifItemParser& aItem); |
|
672 virtual TInt DOMDeserializeFromFile2L( CStifItemParser& aItem); |
|
673 virtual TInt DOMDeserializeFromBufferL(CStifItemParser& aItem); |
|
674 |
|
675 virtual TInt TestDOMDeserializerL(CStifItemParser& aItem); |
|
676 virtual TInt TestDOMSetInputFileL(CStifItemParser& aItem); |
|
677 virtual TInt TestDOMSetInputBufferL(CStifItemParser& aItem); |
|
678 virtual TInt TestDOMUseExternalDataL(CStifItemParser& aItem); |
|
679 virtual TInt TestDOMExternalDataL(CStifItemParser& aItem); |
|
680 |
|
681 /**************************** Test function end **************************/ |
|
682 |
|
683 public: // Data |
|
684 |
|
685 protected: // Data |
|
686 |
|
687 private: // Data |
|
688 |
|
689 // DOM implementation for dom tests |
|
690 RXmlEngDOMImplementation DOM_impl; |
|
691 |
|
692 // Dom parser |
|
693 RXmlEngDOMParser parser; |
|
694 |
|
695 // XML document ( dom tree ) |
|
696 RXmlEngDocument iDoc; |
|
697 |
|
698 // XML node ( dom tree ) |
|
699 TXmlEngNode iNode; |
|
700 |
|
701 // XML element |
|
702 TXmlEngElement iElement; |
|
703 |
|
704 // XPath result |
|
705 RXmlEngXPathResult iResult; |
|
706 |
|
707 // Log info number |
|
708 TInt infoNum; |
|
709 |
|
710 // Last error number |
|
711 TInt iLastError; |
|
712 |
|
713 // cheap resize |
|
714 RHeap* he; |
|
715 RHeap* oldHeap; |
|
716 CTrapCleanup* cleanup; |
|
717 |
|
718 public: // Friend classes |
|
719 protected: // Friend classes |
|
720 private: // Friend classes |
|
721 |
|
722 }; |
|
723 |
|
724 |
|
725 |
|
726 #endif // XML_TEST_H |
|
727 |
|
728 |
|
729 // End of File |