os/ossrv/genericservices/httputils/Test/Integration/TestInetProtUtilsSuite/Src/TestEscapeEncodeUriStep.cpp
Update contrib.
1 // Copyright (c) 2007-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Contains implementation of CTestEscapeEncodeUriStep class
24 #include "TestEscapeEncodeUriStep.h"
26 #include <escapeutils.h>
28 Constructor: Sets the test step name.
32 CTestEscapeEncodeUriStep::CTestEscapeEncodeUriStep()
34 //Call base class method to set human readable name for test step
35 SetTestStepName(KTestEscapeEncodeUriStep);
43 CTestEscapeEncodeUriStep::~CTestEscapeEncodeUriStep()
49 Does the main functionality of a test step.
50 Here, reads values from INI file and calls EscEncodeAndCompareUriL
53 @return EPass or EFail indicating the success or failure of the test step
55 TVerdict CTestEscapeEncodeUriStep::doTestStepL()
58 INFO_PRINTF1(_L("\n"));
59 // Get necessary information from INI file
61 TPtrC decodedComponent; // to be encoded.
63 TPtrC expEncodedAuthority;
65 TPtrC expEncodedQuery;
66 TPtrC expEncodedNormal;
68 if(!GetStringFromConfig(ConfigSection(), KIniEscapeDecoded, decodedComponent) ||
69 !GetStringFromConfig(ConfigSection(), KIniEscapeEncodedUri, expEncodedUri) ||
70 !GetStringFromConfig(ConfigSection(), KIniEscapeEncodedAuthority, expEncodedAuthority) ||
71 !GetStringFromConfig(ConfigSection(), KIniEscapeEncodedPath, expEncodedPath) ||
72 !GetStringFromConfig(ConfigSection(), KIniEscapeEncodedQuery, expEncodedQuery) ||
73 !GetStringFromConfig(ConfigSection(), KIniEscapeEncodedNormal, expEncodedNormal) )
75 ERR_PRINTF7(_L("Problem in reading values from ini. \
76 \nExpected fields are: \n%S\n%S\n%S\n%S\n%S\n%S\n"
77 ),&KIniEscapeDecoded, &KIniEscapeEncodedUri, &KIniEscapeEncodedAuthority, &KIniEscapeEncodedPath, &KIniEscapeEncodedQuery, &KIniEscapeEncodedNormal
79 SetTestStepResult(EFail);
82 {// No problem in reading values from INI file. Proceed.
83 TRAPD(err, EscEncodeAndCompareUriL(decodedComponent,expEncodedUri,expEncodedAuthority,expEncodedPath,expEncodedQuery,expEncodedNormal));
86 ERR_PRINTF2(_L("Test step failed: Leave occured in EscEncodeAndCompareUriL fun: %D\n"), err);
87 SetTestStepResult(EFail);
91 INFO_PRINTF1(_L("\nTest of EscapeEncodingUri is Executed\n"));
92 return TestStepResult();
96 Performs escape encoding in all modes and compares actual & expected result.
97 @param aDecodeComp A descriptor with the data to encode.
98 @param aExpEncodedUrl An expected descriptor for the escape Mode EEscapeUrlEncoded.
99 @param aExpEncodedAut An expected descriptor for the escape Mode EEscapeAuth.
100 @param aExpEncodedPath An expected descriptor for the escape Mode EEscapePath.
101 @param aExpEncodedQuery An expected descriptor for the escape Mode EEscapeQuery.
102 @param aExpEncodedNormal An expected descriptor for the escape Mode EEscapeNormal.
104 void CTestEscapeEncodeUriStep::EscEncodeAndCompareUriL(const TDesC& aDecodeComp,const TDesC& aExpEncodedUrl,const TDesC& aExpEncodedAut,const TDesC& aExpEncodedPath,const TDesC& aExpEncodedQuery,const TDesC& aExpEncodedNormal)
106 HBufC8* decodeBuf = HBufC8::NewLC(aDecodeComp.Length());
107 TPtr8 decode8Bit(decodeBuf->Des());
108 decode8Bit.Copy(aDecodeComp);
109 //Authority mode Encoding
110 TestComponentEncodingL(decode8Bit, aExpEncodedAut, EscapeUtils::EEscapeAuth );
112 TestComponentEncodingL(decode8Bit, aExpEncodedPath, EscapeUtils::EEscapePath );
113 //Query mode Encoding
114 TestComponentEncodingL(decode8Bit, aExpEncodedQuery, EscapeUtils::EEscapeQuery );
115 //Normal mode Encoding
116 TestComponentEncodingL(decode8Bit, aExpEncodedNormal, EscapeUtils::EEscapeNormal );
118 TestComponentEncodingL(decode8Bit, aExpEncodedUrl, EscapeUtils::EEscapeUrlEncoded );
120 CleanupStack::PopAndDestroy(decodeBuf);
124 Performs escape encoding the mode specifed and compares actual & expected result.
125 @param aDecode8Bit A descriptor with the data to encode.
126 @param aExpEncodedComponent An expected descriptor for the escape mode specified.
127 @param aMode An enum specifying the escape mode.
129 void CTestEscapeEncodeUriStep::TestComponentEncodingL(const TDesC8& aDecode8Bit, const TDesC& aExpEncodedComponent, EscapeUtils::TEscapeMode aMode )
132 HBufC8* expEncodedComponentBuf = HBufC8::NewLC(aExpEncodedComponent.Length());
133 TPtr8 expEncodedComponent8Bit(expEncodedComponentBuf->Des());
134 expEncodedComponent8Bit.Copy(aExpEncodedComponent);
136 HBufC8* encodedComponent=EscapeUtils::EscapeEncodeL(aDecode8Bit,aMode);
137 if(expEncodedComponent8Bit.Compare(*encodedComponent)!=0)
141 case EscapeUtils::EEscapeAuth:
143 ERR_PRINTF1(_L("Test step failed: EEscapeAuth - EscapeEncoding done wrongly.\n"));
146 case EscapeUtils::EEscapePath:
148 ERR_PRINTF1(_L("Test step failed: EEscapePath - EscapeEncoding done wrongly.\n"));
151 case EscapeUtils::EEscapeQuery:
153 ERR_PRINTF1(_L("Test step failed: EEscapeQuery - EscapeEncoding done wrongly.\n"));
156 case EscapeUtils::EEscapeNormal:
158 ERR_PRINTF1(_L("Test step failed: EEscapeNormal - EscapeEncoding done wrongly.\n"));
161 case EscapeUtils::EEscapeUrlEncoded:
163 ERR_PRINTF1(_L("Test step failed: EEscapeUrlEncoded - EscapeEncoding done wrongly.\n"));
173 SetTestStepResult(EFail);
175 delete encodedComponent;
176 CleanupStack::PopAndDestroy(expEncodedComponentBuf);