os/textandloc/charconvfw/charconvplugins/test/rtest/tsrc/main/t_eucjpdirectmap.cpp
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/textandloc/charconvfw/charconvplugins/test/rtest/tsrc/main/t_eucjpdirectmap.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,270 @@
1.4 +/*
1.5 +* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +#include <e32std.h>
1.22 +#include <e32base.h>
1.23 +#include <f32file.h>
1.24 +#include <charconv.h>
1.25 +#include "t_eucjpdirectmap.h"
1.26 +
1.27 +#define test(cond) \
1.28 + { \
1.29 + TBool __bb = (cond); \
1.30 + TEST(__bb); \
1.31 + if (!__bb) \
1.32 + { \
1.33 + ERR_PRINTF1(_L("ERROR: Test Failed")); \
1.34 + User::Leave(1); \
1.35 + } \
1.36 + }
1.37 +
1.38 +const TInt KBufferLength=100;
1.39 +
1.40 +void CT_EUCJPDIRECTMAP::TestTruncatedConversionFromUnicodeToEucJpDirectmap(CCnvCharacterSetConverter& aCharacterSetConverter, const TDesC16& aOriginalUnicode)
1.41 + {
1.42 + for (TInt i=aOriginalUnicode.Length(); i>=0; --i)
1.43 + {
1.44 + TBuf8<KBufferLength> generatedEucJpDirectmap;
1.45 + const TInt returnValue=aCharacterSetConverter.ConvertFromUnicode(generatedEucJpDirectmap, aOriginalUnicode.Left(i));
1.46 + test(returnValue>=0);
1.47 + TBuf8<KBufferLength> generatedsecondPartOfEucJpDirectmap;
1.48 + test(aCharacterSetConverter.ConvertFromUnicode(generatedsecondPartOfEucJpDirectmap, aOriginalUnicode.Mid(i-returnValue))==0);
1.49 + generatedEucJpDirectmap.Append(generatedsecondPartOfEucJpDirectmap);
1.50 + TInt state=CCnvCharacterSetConverter::KStateDefault;
1.51 + TBuf16<KBufferLength> generatedUnicode;
1.52 + test(aCharacterSetConverter.ConvertToUnicode(generatedUnicode, generatedEucJpDirectmap, state)==0);
1.53 + test(generatedUnicode==aOriginalUnicode);
1.54 + }
1.55 + }
1.56 +
1.57 +void CT_EUCJPDIRECTMAP::TestSplittingConvertingFromUnicodeToEucJpDirectmap(CCnvCharacterSetConverter& aCharacterSetConverter, TInt aMaximumLengthLowerLimit, TInt aMaximumLengthUpperLimit, TInt aExpectedNumberOfUnicodeCharactersNotConvertedAtSplit, TInt aExpectedLengthOfFirstPartOfEucJpDirectmap, const TDesC8& aExpectedEucJpDirectmap, const TDesC16& aOriginalUnicode)
1.58 + {
1.59 + test(aMaximumLengthLowerLimit<=aMaximumLengthUpperLimit);
1.60 + test(aMaximumLengthUpperLimit<=KBufferLength);
1.61 + TUint8 eucJpDirectmapBuffer[KBufferLength];
1.62 + for (TInt i=aMaximumLengthLowerLimit; i<=aMaximumLengthUpperLimit; ++i)
1.63 + {
1.64 + TPtr8 generatedFirstPartOfEucJpDirectmap(eucJpDirectmapBuffer, i);
1.65 + test(aCharacterSetConverter.ConvertFromUnicode(generatedFirstPartOfEucJpDirectmap, aOriginalUnicode)==aExpectedNumberOfUnicodeCharactersNotConvertedAtSplit);
1.66 + test(generatedFirstPartOfEucJpDirectmap==aExpectedEucJpDirectmap.Left(aExpectedLengthOfFirstPartOfEucJpDirectmap));
1.67 + TBuf8<KBufferLength> generatedSecondPartOfEucJpDirectmap;
1.68 + test(aCharacterSetConverter.ConvertFromUnicode(generatedSecondPartOfEucJpDirectmap, aOriginalUnicode.Right(aExpectedNumberOfUnicodeCharactersNotConvertedAtSplit))==0);
1.69 + test(generatedSecondPartOfEucJpDirectmap==aExpectedEucJpDirectmap.Mid(aExpectedLengthOfFirstPartOfEucJpDirectmap));
1.70 + TInt state=CCnvCharacterSetConverter::KStateDefault;
1.71 + TBuf16<KBufferLength> generatedUnicode;
1.72 + test(aCharacterSetConverter.ConvertToUnicode(generatedUnicode, generatedFirstPartOfEucJpDirectmap, state)==0);
1.73 + test(state==CCnvCharacterSetConverter::KStateDefault);
1.74 + TBuf16<KBufferLength> generatedSecondPartOfUnicode;
1.75 + test(aCharacterSetConverter.ConvertToUnicode(generatedSecondPartOfUnicode, generatedSecondPartOfEucJpDirectmap, state)==0);
1.76 + test(state==CCnvCharacterSetConverter::KStateDefault);
1.77 + generatedUnicode.Append(generatedSecondPartOfUnicode);
1.78 + test(generatedUnicode==aOriginalUnicode);
1.79 + }
1.80 + }
1.81 +
1.82 +void CT_EUCJPDIRECTMAP::TestTruncatedConversionToUnicodeFromEucJpDirectmap(CCnvCharacterSetConverter& aCharacterSetConverter, const TDesC16& aExpectedUnicode, const TDesC8& aOriginalEucJpDirectmap)
1.83 + {
1.84 + for (TInt i=aOriginalEucJpDirectmap.Length(); i>=3; --i)
1.85 + {
1.86 + TInt state=CCnvCharacterSetConverter::KStateDefault;
1.87 + TBuf16<KBufferLength> generatedUnicode;
1.88 + const TInt returnValue=aCharacterSetConverter.ConvertToUnicode(generatedUnicode, aOriginalEucJpDirectmap.Left(i), state);
1.89 + test(returnValue>=0);
1.90 + TBuf16<KBufferLength> generatedsecondPartOfUnicode;
1.91 + test(aCharacterSetConverter.ConvertToUnicode(generatedsecondPartOfUnicode, aOriginalEucJpDirectmap.Mid(i-returnValue), state)==0);
1.92 + generatedUnicode.Append(generatedsecondPartOfUnicode);
1.93 + test(generatedUnicode==aExpectedUnicode);
1.94 + }
1.95 + }
1.96 +
1.97 +void CT_EUCJPDIRECTMAP::TestSplittingConvertingToUnicodeFromEucJpDirectmap(CCnvCharacterSetConverter& aCharacterSetConverter, TInt aMaximumLengthLowerLimit, TInt aMaximumLengthUpperLimit, TInt aExpectedNumberOfEucJpDirectmapBytesNotConvertedAtSplit, TInt aExpectedLengthOfFirstPartOfUnicode, const TDesC16& aExpectedUnicode, const TDesC8& aOriginalEucJpDirectmap)
1.98 + {
1.99 + test(aMaximumLengthLowerLimit<=aMaximumLengthUpperLimit);
1.100 + test(aMaximumLengthUpperLimit<=KBufferLength);
1.101 + TUint16 unicodeBuffer[KBufferLength];
1.102 + for (TInt i=aMaximumLengthLowerLimit; i<=aMaximumLengthUpperLimit; ++i)
1.103 + {
1.104 + TPtr16 generatedFirstPartOfUnicode(unicodeBuffer, i);
1.105 + TInt state=CCnvCharacterSetConverter::KStateDefault;
1.106 + test(aCharacterSetConverter.ConvertToUnicode(generatedFirstPartOfUnicode, aOriginalEucJpDirectmap, state)==aExpectedNumberOfEucJpDirectmapBytesNotConvertedAtSplit);
1.107 + test(generatedFirstPartOfUnicode==aExpectedUnicode.Left(aExpectedLengthOfFirstPartOfUnicode));
1.108 + test(state==CCnvCharacterSetConverter::KStateDefault);
1.109 + TBuf16<KBufferLength> generatedSecondPartOfUnicode;
1.110 + test(aCharacterSetConverter.ConvertToUnicode(generatedSecondPartOfUnicode, aOriginalEucJpDirectmap.Right(aExpectedNumberOfEucJpDirectmapBytesNotConvertedAtSplit), state)==0);
1.111 + test(generatedSecondPartOfUnicode==aExpectedUnicode.Mid(aExpectedLengthOfFirstPartOfUnicode));
1.112 + test(state==CCnvCharacterSetConverter::KStateDefault);
1.113 + TBuf8<KBufferLength> generatedEucJpDirectmap;
1.114 + test(aCharacterSetConverter.ConvertFromUnicode(generatedEucJpDirectmap, generatedFirstPartOfUnicode)==0);
1.115 + TBuf8<KBufferLength> generatedSecondPartOfEucJpDirectmap;
1.116 + test(aCharacterSetConverter.ConvertFromUnicode(generatedSecondPartOfEucJpDirectmap, generatedSecondPartOfUnicode)==0);
1.117 + generatedEucJpDirectmap.Append(generatedSecondPartOfEucJpDirectmap);
1.118 + test(generatedEucJpDirectmap==aOriginalEucJpDirectmap);
1.119 + }
1.120 + }
1.121 +
1.122 +void CT_EUCJPDIRECTMAP::TestIsIllFormedEucJpDirectmap(CCnvCharacterSetConverter& aCharacterSetConverter, const TDesC8& aEucJpDirectmap)
1.123 + {
1.124 + TBuf16<50> generatedUnicode;
1.125 + TInt state=CCnvCharacterSetConverter::KStateDefault;
1.126 + TPtrC8 remainderOfEucJpDirectmap(aEucJpDirectmap);
1.127 + TInt lastReturnValue=KMaxTInt;
1.128 + FOREVER
1.129 + {
1.130 + const TInt returnValue=aCharacterSetConverter.ConvertToUnicode(generatedUnicode, remainderOfEucJpDirectmap, state);
1.131 + if (returnValue==CCnvCharacterSetConverter::EErrorIllFormedInput)
1.132 + {
1.133 + break;
1.134 + }
1.135 + test(returnValue>0);
1.136 + test(returnValue<lastReturnValue);
1.137 + lastReturnValue=returnValue;
1.138 + remainderOfEucJpDirectmap.Set(remainderOfEucJpDirectmap.Right(returnValue));
1.139 + }
1.140 + }
1.141 +
1.142 +void CT_EUCJPDIRECTMAP::DoE32MainL()
1.143 + {
1.144 + RFs fileServerSession;
1.145 + CleanupClosePushL(fileServerSession);
1.146 + User::LeaveIfError(fileServerSession.Connect());
1.147 + CCnvCharacterSetConverter* characterSetConverter=CCnvCharacterSetConverter::NewLC();
1.148 + CArrayFix<CCnvCharacterSetConverter::SCharacterSet>* arrayOfCharacterSetsAvailable=CCnvCharacterSetConverter::CreateArrayOfCharacterSetsAvailableLC(fileServerSession);
1.149 + INFO_PRINTF1(_L("Available:\n"));
1.150 + TInt i;
1.151 + for (i=arrayOfCharacterSetsAvailable->Count()-1; i>=0; --i)
1.152 + {
1.153 + const CCnvCharacterSetConverter::SCharacterSet& charactersSet=(*arrayOfCharacterSetsAvailable)[i];
1.154 + characterSetConverter->PrepareToConvertToOrFromL(charactersSet.Identifier(), *arrayOfCharacterSetsAvailable, fileServerSession);
1.155 + TPtrC charactersSetName(charactersSet.Name());
1.156 + if (charactersSet.NameIsFileName())
1.157 + {
1.158 + charactersSetName.Set(TParsePtrC(charactersSetName).Name());
1.159 + }
1.160 + INFO_PRINTF2(_L(" %S\n"), &charactersSetName);
1.161 + }
1.162 + INFO_PRINTF1(_L("Testing EUC-JP (DirectMap) conversions "));
1.163 + characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifierEucJpDirectmap, *arrayOfCharacterSetsAvailable, fileServerSession);
1.164 + //
1.165 + INFO_PRINTF1(_L("Empty descriptor"));
1.166 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 0, 10, 0, 0, KNullDesC8, KNullDesC16);
1.167 + TestSplittingConvertingToUnicodeFromEucJpDirectmap(*characterSetConverter, 0, 10, 0, 0, KNullDesC16, KNullDesC8);
1.168 + INFO_PRINTF1(_L("Testing converting to EUC-JP (DirectMap)"));
1.169 + TBuf16<50> originalUnicode;
1.170 + originalUnicode.Format(_L16("Some %c%c%c%c%c%c"), 0xff9a, 0xff70, 0x6f22, 0x5b57, 0x5379, 0x5dce);
1.171 + const TPtrC8 expectedEucJpDirectmap(_S8("Some \x8e\xda\x8e\xb0\xb4\xc1\xbb\xfa\x8f\xb4\xc1\x8f\xbb\xfa"));
1.172 + TestTruncatedConversionFromUnicodeToEucJpDirectmap(*characterSetConverter, originalUnicode);
1.173 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 0, 0, 11, 0, expectedEucJpDirectmap, originalUnicode);
1.174 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 1, 1, 10, 1, expectedEucJpDirectmap, originalUnicode);
1.175 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 2, 2, 9, 2, expectedEucJpDirectmap, originalUnicode);
1.176 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 3, 3, 8, 3, expectedEucJpDirectmap, originalUnicode);
1.177 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 4, 4, 7, 4, expectedEucJpDirectmap, originalUnicode);
1.178 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 5, 6, 6, 5, expectedEucJpDirectmap, originalUnicode);
1.179 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 7, 8, 5, 7, expectedEucJpDirectmap, originalUnicode);
1.180 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 9, 10, 4, 9, expectedEucJpDirectmap, originalUnicode);
1.181 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 11, 12, 3, 11, expectedEucJpDirectmap, originalUnicode);
1.182 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 13, 15, 2, 13, expectedEucJpDirectmap, originalUnicode);
1.183 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 16, 18, 1, 16, expectedEucJpDirectmap, originalUnicode);
1.184 + TestSplittingConvertingFromUnicodeToEucJpDirectmap(*characterSetConverter, 19, 30, 0, 19, expectedEucJpDirectmap, originalUnicode);
1.185 + INFO_PRINTF1(_L("Testing converting to Unicode"));
1.186 + const TPtrC8 originalEucJpDirectmap(_S8("pool\xbe\xae\xc3\xd3\x8e\xcc\x8e\xdf\x8e\xd9\x8f\xc0\xcd\x8f\xc8\xc5pool\x8e\xcc\x8e\xdf\x8e\xd9\xbe\xae\xc3\xd3\x8f\xc0\xcd\x8f\xc8\xc5\xbe\xae\xc3\xd3pool\x8f\xc0\xcd\x8f\xc8\xc5\x8e\xcc\x8e\xdf\x8e\xd9pool"));
1.187 + TBuf16<50> expectedUnicode;
1.188 + expectedUnicode.Format(_L16("pool%c%c%c%c%c%c%cpool%c%c%c%c%c%c%c%c%cpool%c%c%c%c%cpool"), 0x5c0f, 0x6c60, 0xff8c, 0xff9f, 0xff99, 0x641e, 0x6f0d, 0xff8c, 0xff9f, 0xff99, 0x5c0f, 0x6c60, 0x641e, 0x6f0d, 0x5c0f, 0x6c60, 0x641e, 0x6f0d, 0xff8c, 0xff9f, 0xff99);
1.189 + TestTruncatedConversionToUnicodeFromEucJpDirectmap(*characterSetConverter, expectedUnicode, originalEucJpDirectmap);
1.190 + TestTruncatedConversionToUnicodeFromEucJpDirectmap(*characterSetConverter, expectedUnicode.Mid(4, 2), originalEucJpDirectmap.Mid(4, 4));
1.191 + TestTruncatedConversionToUnicodeFromEucJpDirectmap(*characterSetConverter, expectedUnicode.Mid(6, 3), originalEucJpDirectmap.Mid(8, 6));
1.192 + TestTruncatedConversionToUnicodeFromEucJpDirectmap(*characterSetConverter, expectedUnicode.Mid(9, 2), originalEucJpDirectmap.Mid(14, 6));
1.193 + static const TInt numberOfCharactersInEachHomogeneousRun[13]={4, 2, 3, 2, 4, 3, 2, 2, 2, 4, 2, 3, 4};
1.194 + static const TInt numberOfBytesPerCharacterInEachHomogeneousRun[13]={1, 2, 2, 3, 1, 2, 2, 3, 2, 1, 3, 2, 1};
1.195 + TInt e=64;
1.196 + TInt u=0;
1.197 + for (i=0; i<13; ++i)
1.198 + {
1.199 + TInt j;
1.200 + for (j=0; j<numberOfCharactersInEachHomogeneousRun[i]; ++j, ++u, e-=numberOfBytesPerCharacterInEachHomogeneousRun[i])
1.201 + {
1.202 + TestSplittingConvertingToUnicodeFromEucJpDirectmap(*characterSetConverter, u, u, e, u, expectedUnicode, originalEucJpDirectmap);
1.203 + }
1.204 + }
1.205 + test(e==0);
1.206 + test(u==37);
1.207 + TestSplittingConvertingToUnicodeFromEucJpDirectmap(*characterSetConverter, u, u+10, e, u, expectedUnicode, originalEucJpDirectmap);
1.208 + INFO_PRINTF1(_L("Testing ill-formed EUC-JP (DirectMap)"));
1.209 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\xa1"));
1.210 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\xa1\xb2\xc3"));
1.211 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\xa1\xb2\x8e"));
1.212 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\xa1\xb2\x8f"));
1.213 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\xa1\xb2\x8f\xaa"));
1.214 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8e\xd4\x8e"));
1.215 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8e\xd4\x8f"));
1.216 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8e\xd4\x8f\xbb"));
1.217 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8f\xe5\x8e"));
1.218 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8f\xe5\x8f"));
1.219 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8f\xe5\x8f\xcc"));
1.220 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("xyz\x8e\xd4\x8e"));
1.221 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("xyz\x8e\xd4\x8f"));
1.222 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("xyz\x8e\xd4\x8f\xdd"));
1.223 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("xyz\x8f\xe5\x8e"));
1.224 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("xyz\x8f\xe5\x8f"));
1.225 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("xyz\x8f\xe5\x8f\xee"));
1.226 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8e "));
1.227 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8f "));
1.228 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8f\xf1 "));
1.229 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8e\x41"));
1.230 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8f\x41"));
1.231 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\x8f\xe2\x41"));
1.232 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("amb\x8e "));
1.233 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("amb\x8f "));
1.234 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("amb\x8f\xf1 "));
1.235 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("amb\x8e\x41"));
1.236 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("amb\x8f\x41"));
1.237 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("amb\x8f\xe2\x41"));
1.238 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\xa1 "));
1.239 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("\xa1\x61"));
1.240 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("eb\xa1 "));
1.241 + TestIsIllFormedEucJpDirectmap(*characterSetConverter, _L8("eb\xa1\x61"));
1.242 +
1.243 + const TPtrC8 originalEucJpDirectmapYen(_S8("pool\x5c"));
1.244 + TBuf16<10> expectedUnicodeBackSlash;
1.245 + expectedUnicodeBackSlash.Format(_L16("pool%c"), 0x005c);
1.246 + TInt state=CCnvCharacterSetConverter::KStateDefault;
1.247 + TBuf16<KBufferLength> generatedUnicodeBackSlash;
1.248 + test(characterSetConverter->ConvertToUnicode(generatedUnicodeBackSlash, originalEucJpDirectmapYen, state) == 0);
1.249 + test(generatedUnicodeBackSlash==expectedUnicodeBackSlash);
1.250 +
1.251 + CleanupStack::PopAndDestroy(3); // arrayOfCharacterSetsAvailable and characterSetConverter and fileServerSession
1.252 + }
1.253 +
1.254 +CT_EUCJPDIRECTMAP::CT_EUCJPDIRECTMAP()
1.255 + {
1.256 + SetTestStepName(KTestStep_T_EUCJPDIRECTMAP);
1.257 + }
1.258 +
1.259 +TVerdict CT_EUCJPDIRECTMAP::doTestStepL()
1.260 + {
1.261 + SetTestStepResult(EFail);
1.262 +
1.263 + __UHEAP_MARK;
1.264 + TRAPD(error1, DoE32MainL());
1.265 + __UHEAP_MARKEND;
1.266 +
1.267 + if(error1 == KErrNone)
1.268 + {
1.269 + SetTestStepResult(EPass);
1.270 + }
1.271 +
1.272 + return TestStepResult();
1.273 + }