Update contrib.
2 * Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
26 ///////////////////////////////////////////////////////////////////////////////////////
28 Below four plugins all use cp949table.dll, and first three are same converter.
29 cp949 (code page 949) 0x200100FF
30 ksc5601 (Korean) 0x200113CD
31 EUCKR (EUC-KR) 0x2000E526
32 iso2022kr (Korean) 0x20010101
37 TBool __bb = (cond); \
41 ERR_PRINTF1(_L("ERROR: Test Failed")); \
46 const TInt KBufferLength=100;
48 void CT_CP949::TestConversionToUnicodeFromCP949(CCnvCharacterSetConverter& aCharacterSetConverter, const TDesC16& aExpectedUnicode, const TDesC8& aOriginalCP949, TInt aExpectedResult)
50 TInt state=CCnvCharacterSetConverter::KStateDefault;
51 TBuf16<KBufferLength> generatedUnicode;
52 const TInt returnValue=aCharacterSetConverter.ConvertToUnicode(generatedUnicode, aOriginalCP949, state);
53 test(returnValue == aExpectedResult );
54 test(generatedUnicode==aExpectedUnicode);
57 void CT_CP949::TestConversionFromUnicodeToCP949(CCnvCharacterSetConverter& aCharacterSetConverter, const TDesC16& aOriginalUnicode, const TDesC8& aExpectedCP949, TInt aExpectedResult)
59 TBuf8<KBufferLength> generatedCP949;
60 const TInt returnValue=aCharacterSetConverter.ConvertFromUnicode(generatedCP949, aOriginalUnicode);
61 test(returnValue == aExpectedResult);
62 test(generatedCP949==aExpectedCP949);
65 void CT_CP949::TestConversion( CCnvCharacterSetConverter& aCharacterSetConverter )
67 TestConversionFromUnicodeToCP949(aCharacterSetConverter, _L16("\x0079"), _L8("\x79"));
68 TestConversionToUnicodeFromCP949(aCharacterSetConverter, _L16("\x0079"), _L8("\x79"));
70 TestConversionFromUnicodeToCP949(aCharacterSetConverter, _L16("\xAC02"), _L8("\x81\x41"));
71 TestConversionToUnicodeFromCP949(aCharacterSetConverter, _L16("\xAC02"), _L8("\x81\x41"));
74 void CT_CP949::TestConversionIso2022kr( CCnvCharacterSetConverter& aCharacterSetConverter )
76 TestConversionFromUnicodeToCP949(aCharacterSetConverter, _L16("\x0079"), _L8("\x1b\x24\x43\x0f\x79"));
77 TestConversionToUnicodeFromCP949(aCharacterSetConverter, _L16("\x0079"), _L8("\x1b\x24\x43\x0f\x79"));
79 TestConversionFromUnicodeToCP949(aCharacterSetConverter, _L16("\xc7b8"), _L8("\x1b\x24\x43\x0e\x20\x0f\x41"));
80 TestConversionToUnicodeFromCP949(aCharacterSetConverter, _L16("\xc7b8\x0079"), _L8("\x1b\x24\x43\x0f\xa0\x41\x79"));
82 TestConversionFromUnicodeToCP949(aCharacterSetConverter, _L16("\xAC02"), _L8("\x1b\x24\x43\x0f\x81\x41"));
83 TestConversionToUnicodeFromCP949(aCharacterSetConverter, _L16("\xAC02"), _L8("\x1b\x24\x43\x0f\x81\x41"));
86 void CT_CP949::DoE32MainL()
88 RFs fileServerSession;
89 CleanupClosePushL(fileServerSession);
90 User::LeaveIfError(fileServerSession.Connect());
91 CCnvCharacterSetConverter* characterSetConverter=CCnvCharacterSetConverter::NewLC();
92 CArrayFix<CCnvCharacterSetConverter::SCharacterSet>* arrayOfCharacterSetsAvailable=\
93 CCnvCharacterSetConverter::CreateArrayOfCharacterSetsAvailableLC(fileServerSession);
95 INFO_PRINTF1(_L("Available:\n"));
96 for (TInt i=arrayOfCharacterSetsAvailable->Count()-1; i>=0; --i)
98 const CCnvCharacterSetConverter::SCharacterSet& charactersSet=(*arrayOfCharacterSetsAvailable)[i];
99 characterSetConverter->PrepareToConvertToOrFromL(charactersSet.Identifier(), *arrayOfCharacterSetsAvailable, fileServerSession);
100 TPtrC charactersSetName(charactersSet.Name());
101 if (charactersSet.NameIsFileName())
103 charactersSetName.Set(TParsePtrC(charactersSetName).Name());
105 INFO_PRINTF2(_L(" %S\n"), &charactersSetName);
108 INFO_PRINTF1(_L("Testing CP949"));
109 characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifierCP949, *arrayOfCharacterSetsAvailable, fileServerSession);
110 TestConversion( *characterSetConverter );
112 INFO_PRINTF1(_L("Testing ksc5601"));
113 characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifierKsc5601, *arrayOfCharacterSetsAvailable, fileServerSession);
114 TestConversion( *characterSetConverter );
116 INFO_PRINTF1(_L("Testing EUCKR"));
117 characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifierEUCKR, *arrayOfCharacterSetsAvailable, fileServerSession);
118 TestConversion( *characterSetConverter );
120 INFO_PRINTF1(_L("Testing Iso2022kr"));
121 characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifierIso2022kr, *arrayOfCharacterSetsAvailable, fileServerSession);
122 TestConversionIso2022kr( *characterSetConverter );
124 CleanupStack::PopAndDestroy(3);
129 SetTestStepName(KTestStep_T_CP949);
132 TVerdict CT_CP949::doTestStepL()
134 SetTestStepResult(EFail);
137 TRAPD(error1, DoE32MainL());
140 if(error1 == KErrNone)
142 SetTestStepResult(EPass);
145 return TestStepResult();