//******************************************************************************* // Method : CTestAppConsole::QueryIPAddress() // Purpose : // Parameters : // Return Value: //******************************************************************************* void CTestAppConsole::QueryIPAddress() { TBuf16<80> line; // Query IP address and parse it TUint32 address; RArray<TUint32> values; TInt inputErr( 0 ); iConsole->Printf( _L("\nINPUT IP (use dot as a separator): ") ); iConsole->Printf( _L("\nPress enter if IP not needed in tests\n\n") ); GetStringFromConsole( line ); if ( line.Length() != 0 ) { TInt dotIndex( 0 ); TBool dotExist = ETrue; while ( dotExist ) { dotIndex = line.Locate( '.' ); // True if last attribute value if( KErrNotFound == dotIndex ) { dotExist = EFalse; dotIndex = line.Length(); } TUint8 number; TLex16 lex = line.Mid( 0, dotIndex ); inputErr = lex.Val( number, EDecimal ); if ( !inputErr ) { values.AppendL( number ); } if( dotExist ) { line.Delete( 0, dotIndex + 1 ); } } if ( !inputErr && values.Count() == 4 ) { address = INET_ADDR( values[0], values[1], values[2], values[3] ); iNetsettings.iRemoteAddress.SetAddress( address ); } } }
/** @SYMTestCaseID SYSLIB-CHARCONV-CT-0540 @SYMTestCaseDesc JIS to Unicode and Unicode to EucJpPacked conversion tests @SYMTestPriority Medium @SYMTestActions Calls up all conversion test functions from EucJpPacked to Unicode @SYMTestExpectedResults Test must not fail @SYMREQ REQ0000 */ void CT_EUCJP_PACKED_2::DoE32MainL() { RFs fileServerSession; CleanupClosePushL(fileServerSession); User::LeaveIfError(fileServerSession.Connect()); CCnvCharacterSetConverter* characterSetConverter=CCnvCharacterSetConverter::NewLC(); CArrayFix<CCnvCharacterSetConverter::SCharacterSet>* arrayOfCharacterSetsAvailable=CCnvCharacterSetConverter::CreateArrayOfCharacterSetsAvailableLC(fileServerSession); INFO_PRINTF1(_L("Available:\n")); TInt i; for (i=arrayOfCharacterSetsAvailable->Count()-1; i>=0; --i) { const CCnvCharacterSetConverter::SCharacterSet& charactersSet=(*arrayOfCharacterSetsAvailable)[i]; characterSetConverter->PrepareToConvertToOrFromL(charactersSet.Identifier(), *arrayOfCharacterSetsAvailable, fileServerSession); TPtrC charactersSetName(charactersSet.Name()); if (charactersSet.NameIsFileName()) { charactersSetName.Set(TParsePtrC(charactersSetName).Name()); } INFO_PRINTF2(_L(" %S\n"), &charactersSetName); } INFO_PRINTF1(_L(" @SYMTestCaseID:SYSLIB-CHARCONV-CT-0540 Testing EUC-JP (packed) conversions ")); characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetTestEucjpPacked_2, *arrayOfCharacterSetsAvailable, fileServerSession); // INFO_PRINTF1(_L("Empty descriptor")); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 0, 10, 0, 0, KNullDesC8, KNullDesC16); TestSplittingConvertingToUnicodeFromEucJpPacked(*characterSetConverter, 0, 10, 0, 0, KNullDesC16, KNullDesC8); INFO_PRINTF1(_L("Testing converting to EUC-JP (packed)")); TBuf16<50> originalUnicode; originalUnicode.Format(_L16("Some %c%c%c%c%c%c"), 0xff9a, 0xff70, 0x6f22, 0x5b57, 0x5379, 0x5dce); const TPtrC8 expectedEucJpPacked(_S8("Some \x8e\xda\x8e\xb0\xb4\xc1\xbb\xfa\x8f\xb4\xc1\x8f\xbb\xfa")); TestTruncatedConversionFromUnicodeToEucJpPacked(*characterSetConverter, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 0, 0, 11, 0, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 1, 1, 10, 1, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 2, 2, 9, 2, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 3, 3, 8, 3, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 4, 4, 7, 4, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 5, 6, 6, 5, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 7, 8, 5, 7, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 9, 10, 4, 9, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 11, 12, 3, 11, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 13, 15, 2, 13, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 16, 18, 1, 16, expectedEucJpPacked, originalUnicode); TestSplittingConvertingFromUnicodeToEucJpPacked(*characterSetConverter, 19, 30, 0, 19, expectedEucJpPacked, originalUnicode); INFO_PRINTF1(_L("Testing converting to Unicode")); const TPtrC8 originalEucJpPacked(_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")); TBuf16<50> expectedUnicode; 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); TestTruncatedConversionToUnicodeFromEucJpPacked(*characterSetConverter, expectedUnicode, originalEucJpPacked); TestTruncatedConversionToUnicodeFromEucJpPacked(*characterSetConverter, expectedUnicode.Mid(4, 2), originalEucJpPacked.Mid(4, 4)); TestTruncatedConversionToUnicodeFromEucJpPacked(*characterSetConverter, expectedUnicode.Mid(6, 3), originalEucJpPacked.Mid(8, 6)); TestTruncatedConversionToUnicodeFromEucJpPacked(*characterSetConverter, expectedUnicode.Mid(9, 2), originalEucJpPacked.Mid(14, 6)); static const TInt numberOfCharactersInEachHomogeneousRun[13]={4, 2, 3, 2, 4, 3, 2, 2, 2, 4, 2, 3, 4}; static const TInt numberOfBytesPerCharacterInEachHomogeneousRun[13]={1, 2, 2, 3, 1, 2, 2, 3, 2, 1, 3, 2, 1}; TInt e=64; TInt u=0; for (i=0; i<13; ++i) { TInt j; for (j=0; j<numberOfCharactersInEachHomogeneousRun[i]; ++j, ++u, e-=numberOfBytesPerCharacterInEachHomogeneousRun[i]) { TestSplittingConvertingToUnicodeFromEucJpPacked(*characterSetConverter, u, u, e, u, expectedUnicode, originalEucJpPacked); } } test(e==0); test(u==37); TestSplittingConvertingToUnicodeFromEucJpPacked(*characterSetConverter, u, u+10, e, u, expectedUnicode, originalEucJpPacked); INFO_PRINTF1(_L("Testing ill-formed EUC-JP (packed)")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\xa1")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\xa1\xb2\xc3")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\xa1\xb2\x8e")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\xa1\xb2\x8f")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\xa1\xb2\x8f\xaa")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8e\xd4\x8e")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8e\xd4\x8f")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8e\xd4\x8f\xbb")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8f\xe5\x8e")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8f\xe5\x8f")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8f\xe5\x8f\xcc")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("xyz\x8e\xd4\x8e")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("xyz\x8e\xd4\x8f")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("xyz\x8e\xd4\x8f\xdd")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("xyz\x8f\xe5\x8e")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("xyz\x8f\xe5\x8f")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("xyz\x8f\xe5\x8f\xee")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8e ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8f ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8f\xf1 ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8e\x41")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8f\x41")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\x8f\xe2\x41")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("amb\x8e ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("amb\x8f ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("amb\x8f\xf1 ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("amb\x8e\x41")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("amb\x8f\x41")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("amb\x8f\xe2\x41")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\xa1 ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("\xa1\x61")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("eb\xa1 ")); TestIsIllFormedEucJpPacked(*characterSetConverter, _L8("eb\xa1\x61")); const TPtrC8 originalEucJpPackedYen(_S8("pool\x5c")); TBuf16<10> expectedUnicodeBackSlash; expectedUnicodeBackSlash.Format(_L16("pool%c"), 0x005c); TInt state=CCnvCharacterSetConverter::KStateDefault; TBuf16<KBufferLength> generatedUnicodeBackSlash; test(characterSetConverter->ConvertToUnicode(generatedUnicodeBackSlash, originalEucJpPackedYen, state) == 0); test(generatedUnicodeBackSlash==expectedUnicodeBackSlash); CleanupStack::PopAndDestroy(3); // arrayOfCharacterSetsAvailable and characterSetConverter and fileServerSession }