xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/xmlengtester.h
changeset 0 e35f40988205
child 17 ed3155dbd163
child 32 889504eac4fb
equal deleted inserted replaced
-1:000000000000 0:e35f40988205
       
     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