void CCmdCifTest::DoRunL() { if (iCmd) { CCommandInfoFile* cif = CCommandInfoFile::NewL(FsL(), Env(), *iCmd); TestCifL(cif); // Takes ownership } else { _LIT(KCifDir, "y:\\resource\\cif\\fshell\\"); TFindFile find(FsL()); CDir* dir = NULL; TInt found = find.FindWildByDir(_L("*.cif"), KCifDir, dir); while (found == KErrNone) { for (TInt i = 0; i < dir->Count(); i++) { iFileName.Copy(TParsePtrC(find.File()).DriveAndPath()); // The docs for TFindFile state you shouldn't need the extra TParsePtrC::DriveAndPath(). Sigh. iFileName.Append((*dir)[i].iName); iCifFiles.AppendL(iFileName.AllocLC()); CleanupStack::Pop(); } delete dir; dir = NULL; found = find.FindWild(dir); } NextCif(); } }
void CT_ISO2022JP1_2::DoE32MainL() { INFO_PRINTF1(_L(" TISO2022JP_2 ")); 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("Testing ISO-2022-JP conversions")); characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetTestIso2022jp1_2, *arrayOfCharacterSetsAvailable, fileServerSession); TestIso2022Jp(characterSetConverter); characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifierIso2022Jp1, *arrayOfCharacterSetsAvailable, fileServerSession); TestIso2022Jp(characterSetConverter, EFalse); CleanupStack::PopAndDestroy(3); // arrayOfCharacterSetsAvailable and characterSetConverter and fileServerSession }
// ----------------------------------------------------------------------------- // Compelete file name with file path of the dll // ----------------------------------------------------------------------------- // EXPORT_C TInt MPXUser::CompleteWithDllPath(const TDesC& aDllName, TDes& aFileName) { MPX_DEBUG2("==>MPXUser::CompleteWithDllPath aFileName %S", &aFileName); TInt error(KErrNotSupported); MPX_DEBUG2("MPX Dll file path: %S", &aDllName); TPtrC driveAndPath = TParsePtrC(aDllName).DriveAndPath(); TParse parse; error = parse.Set(aFileName, &driveAndPath, NULL); if (!error) { aFileName.Zero(); aFileName.Append(parse.FullName()); } MPX_DEBUG2("<==MPXUser::CompleteWithDllPath aFileName %S", &aFileName); return error; }
// --------------------------------------------------------- // CFepSetupContainer::ConstructL(const TRect& aRect) // EPOC two phased constructor // --------------------------------------------------------- // void CFepSetupContainer::ConstructL(const TRect& aRect) { CreateWindowL(); iLabel = new (ELeave) CEikLabel; iLabel->SetContainerWindowL( *this ); iLabel->SetTextL( KSelectOptions ); iFepSetting = CFepGenericGlobalSettings::NewL(*iEikonEnv, TFepOnOrOffKeyData(EKeyEnter, EModifierFunc|EModifierShift, EModifierFunc), TFepOnOrOffKeyData(EKeyEnter, EModifierFunc|EModifierShift, EModifierShift), EFalse); #ifndef __SERIES60_3X__ // Series60 1.x/2.x API iFileNamesOfAvailableFeps = iEikonEnv->FileNamesOfAvailableFepsL(); // Get the number of all Feps available in the system const TInt numberOfAvailableFeps = iFileNamesOfAvailableFeps->MdcaCount(); // Get the name, including the path, of all the Feps in the system iNamesOfAvailableFeps = new(ELeave) CDesCArrayFlat(numberOfAvailableFeps+1); for(TInt i=0; i<numberOfAvailableFeps; i++) { // Get name of fep excluding path iNamesOfAvailableFeps->AppendL(TParsePtrC(iFileNamesOfAvailableFeps->MdcaPoint(i)).Name()); } #else // Series60 3.x API // Get available Fep Uids iEikonEnv->AvailableFepsL( iFepUids, NULL ); iNamesOfAvailableFeps = new(ELeave) CDesCArrayFlat( iFepUids.Count() + 1 ); // Get Fep names also iEikonEnv->AvailableFepsL( iFepUids, iNamesOfAvailableFeps ); for (int i = 0; i < iFepUids.Count(); ++i) { TBuf<50> buf; buf.AppendNum(iFepUids[i].iUid, EHex); buf.Append(' '); buf.Append(iNamesOfAvailableFeps->MdcaPoint(i)); RDebug::Print(buf); } #endif SetRect(aRect); ActivateL(); }
/** @SYMTestCaseID SYSLIB-CHARCONV-UT-4015 @SYMTestCaseDesc Testcase to test new converter name can be listed @SYMTestPriority High @SYMTestActions Test for CreateArrayOfCharacterSetsAvailableLC() @SYMTestExpectedResults The test passed, if Available character sets are listed in epocwind.out @SYMPREQ PREQ22265 @SYMREQ REQ10670 */ void CT_TURKISHLOCKING::ListAlltheConvertersL() { CArrayFix<CCnvCharacterSetConverter::SCharacterSet>* arrayOfCharacterSetsAvailable=\ CCnvCharacterSetConverter::CreateArrayOfCharacterSetsAvailableLC(fileServerSession); INFO_PRINTF1(_L(" @SYMTestCaseID:SYSLIB-CHARCONV-UT-4015 Available:\n ")); for (TInt i=arrayOfCharacterSetsAvailable->Count()-1; i>=0; --i) { const CCnvCharacterSetConverter::SCharacterSet& charactersSet=(*arrayOfCharacterSetsAvailable)[i]; TPtrC charactersSetName(charactersSet.Name()); if (charactersSet.NameIsFileName()) { charactersSetName.Set(TParsePtrC(charactersSetName).Name()); } INFO_PRINTF2(_L(" %S\n"), &charactersSetName); } CleanupStack::PopAndDestroy(arrayOfCharacterSetsAvailable); }
void CT_KOI8R::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")); for (TInt 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("Encoding from Unicode to Foreign")); characterSetConverter->PrepareToConvertToOrFromL(KCharacterSetIdentifier, *arrayOfCharacterSetsAvailable, fileServerSession); TBuf8<508> temp; TBuf16<254> originalUnicode; TBuf8<254> generatedForeign; TBuf16<254> generatedUnicode; ReadDescL(temp, KInputUnicodeFilename, fileServerSession); Merge_Big(temp, originalUnicode); test(characterSetConverter->ConvertFromUnicode(generatedForeign, originalUnicode) == 0); ReadDescL(temp, KExpectForeignFilename, fileServerSession); test(generatedForeign == temp); INFO_PRINTF1(_L("Encoding from Foreign to Unicode")); ReadDescL(generatedForeign, KInputForeignFilename, fileServerSession); TInt state=CCnvCharacterSetConverter::KStateDefault; test( 0 == characterSetConverter->ConvertToUnicode(generatedUnicode, generatedForeign, state)); ReadDescL(temp, KExpectUnicodeFilename, fileServerSession); originalUnicode.Zero(); Merge_Big(temp, originalUnicode); test(generatedUnicode == originalUnicode); CleanupStack::PopAndDestroy(3); }
/** @SYMTestCaseID SYSLIB-CHARCONV-CT-0541 @SYMTestCaseDesc Tests for conversion from ISO 8859 to Unicode @SYMTestPriority Medium @SYMTestActions Tests for a filename and then convert to Unicode from ISO8859X @SYMTestExpectedResults Test must not fail @SYMREQ REQ0000 */ void CT_ISO8859X::test1L() { INFO_PRINTF1(_L(" @SYMTestCaseID:SYSLIB-CHARCONV-CT-0541 ")); 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); } TInt state=CCnvCharacterSetConverter::KStateDefault; for (i=0; i<iso8859TestData.iNumberOfItems; ++i) { INFO_PRINTF2(_L("Testing ISO 8859-%d"), iso8859TestData.iItems[i].iX); characterSetConverter->PrepareToConvertToOrFromL(iso8859TestData.iItems[i].iCharacterSetIdentifier, *arrayOfCharacterSetsAvailable, fileServerSession); TPtrC16 originalUnicode(iso8859TestData.iItems[i].iUnicode, iso8859TestData.iItems[i].iTextLength); TPtrC8 expectedIso8859(iso8859TestData.iItems[i].iIso8859, iso8859TestData.iItems[i].iTextLength); TBuf16<256> generatedUnicode; test(characterSetConverter->ConvertToUnicode(generatedUnicode, expectedIso8859, state)==0); test(generatedUnicode==originalUnicode); TBuf8<256> generatedIso8859; test(characterSetConverter->ConvertFromUnicode(generatedIso8859, originalUnicode)==0); test(state==CCnvCharacterSetConverter::KStateDefault); test(generatedIso8859==expectedIso8859); } CleanupStack::PopAndDestroy(3); // arrayOfCharacterSetsAvailable and characterSetConverter and fileServerSession }
// --------------------------------------------------------- // CFepSetupContainer::UnInstallFepL // --------------------------------------------------------- // void CFepSetupContainer::UnInstallFepL() { TBuf<KFormatBufSize> formatingBuf; #ifndef __SERIES60_3X__ // Series60 1.x/2.x API HBufC* currentFep = iCoeEnv->NameOfInstalledFepL(); CleanupStack::PushL( currentFep ); TPtr currentFepPtr( currentFep->Des() ); currentFepPtr.LowerCase(); // remove case-sensitivity TPtrC currentFepPtrC( TParsePtrC( currentFepPtr ).Name()); // file name parsing if( ConeUtils::FileExists( KAknFepFileName )) // 2ndfp2 platform and newer use aknfep.fep { if( currentFepPtrC.Compare( TParsePtrC( KAknFepFileName ).Name() ) != 0 ) // Already installed? { iCoeEnv->InstallFepL( KAknFepFileName ); // Install the default Fep formatingBuf.Format( KFepUninstalled, ¤tFepPtrC ); } else { formatingBuf.Format( KFepAlreadyInstalled, ¤tFepPtrC ); } } else // older platforms use T9fep.fep { if( currentFepPtrC.Compare( TParsePtrC( KT9FepFileName ).Name() ) != 0 ) // Already installed? { iCoeEnv->InstallFepL( KT9FepFileName ); // Install the default Fep formatingBuf.Format( KFepUninstalled, ¤tFepPtrC ); } else { formatingBuf.Format( KFepAlreadyInstalled, ¤tFepPtrC ); } } CAknConfirmationNote* dialog = new(ELeave)CAknConfirmationNote(); dialog->ExecuteLD( formatingBuf ); CleanupStack::PopAndDestroy(); // currentFep #else // Series60 3.x API TUid currentFepUid = iEikonEnv->FepUid(); TInt defaultIndex = iFepUids.Find( KAknFepUid ); TPtrC defaultFepPtr( TParsePtrC( iNamesOfAvailableFeps->MdcaPoint( defaultIndex )).Name()); // file name parsing if( currentFepUid == KAknFepUid ) // Already installed? { formatingBuf.Format( KFepAlreadyInstalled, &defaultFepPtr ); } else { iCoeEnv->InstallFepL( KAknFepUid ); // Install the default Fep formatingBuf.Format( KFepInstalled, &defaultFepPtr ); } CAknConfirmationNote* confirmationDialog = new(ELeave)CAknConfirmationNote(); confirmationDialog->ExecuteLD( formatingBuf ); #endif }
// --------------------------------------------------------- // CFepSetupContainer::InstallFepL // --------------------------------------------------------- // void CFepSetupContainer::InstallFepL() { TBuf<KFormatBufSize> formatingBuf; TInt index( 0 ); CAknListQueryDialog* dlg = new(ELeave) CAknListQueryDialog( &index ); dlg->PrepareLC( R_FEPSETUP_LIST_QUERY ); dlg->SetItemTextArray( iNamesOfAvailableFeps ); dlg->SetOwnershipType( ELbmDoesNotOwnItemArray ); // Execute the dialog TInt answer = dlg->RunLD(); if( answer == EAknSoftkeyOk ) { #ifndef __SERIES60_3X__ // Series60 1.x/2.x API iEikonEnv->InfoMsg( TParsePtrC( iFileNamesOfAvailableFeps->MdcaPoint( index )).Name()); // The code below is to check whether the selected Fep is already installed. HBufC* fepToInstall = iFileNamesOfAvailableFeps->MdcaPoint( index ).AllocL(); CleanupStack::PushL( fepToInstall ); TPtr fepToInstallPtr( fepToInstall->Des() ); fepToInstallPtr.LowerCase(); // remove case-sensitivity TPtrC fepToInstallPtrC( TParsePtrC( fepToInstallPtr ).Name()); // file name parsing HBufC* currentFep = iCoeEnv->NameOfInstalledFepL(); CleanupStack::PushL( currentFep ); TPtr currentFepPtr( currentFep->Des() ); currentFepPtr.LowerCase(); // remove case-sensitivity TPtrC currentFepPtrC( TParsePtrC( currentFepPtr ).Name()); // file name parsing if( fepToInstallPtrC.Compare( currentFepPtrC ) == 0) // Already installed? { formatingBuf.Format( KFepAlreadyInstalled, &fepToInstallPtrC ); } else { // Loads the specified FEP DLL into all running applications. // The current loaded FEP, if any, will be unloaded. iCoeEnv->InstallFepL( iFileNamesOfAvailableFeps->MdcaPoint( index )); formatingBuf.Format( KFepInstalled, &fepToInstallPtrC ); } CAknConfirmationNote* confirmationDialog = new(ELeave)CAknConfirmationNote(); confirmationDialog->ExecuteLD( formatingBuf ); CleanupStack::PopAndDestroy( 2 ); // currentFep, fepToInstall; #else // Series60 3.x API TPtrC fepToInstallPtr( TParsePtrC( iNamesOfAvailableFeps->MdcaPoint( index )).Name()); // file name parsing iEikonEnv->InfoMsg( fepToInstallPtr ); // The code below is to check whether the selected Fep is already installed. TUid fepToInstallUid = iFepUids[index]; TUid currentFepUid = iEikonEnv->FepUid(); if( currentFepUid == fepToInstallUid ) { formatingBuf.Format( KFepAlreadyInstalled, &fepToInstallPtr ); } else { // Loads the specified FEP DLL into all running applications. // The current loaded FEP, if any, will be unloaded. iCoeEnv->InstallFepL( fepToInstallUid ); formatingBuf.Format( KFepInstalled, &fepToInstallPtr ); } CAknConfirmationNote* confirmationDialog = new(ELeave)CAknConfirmationNote(); confirmationDialog->ExecuteLD( formatingBuf ); #endif } else { iEikonEnv->InfoMsg( KNoFep ); } }
/** @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 }
void TSimpleSettings::ReadIniFileL( RFs& aFs ) { // Set few values without reading them from ini file CSimpleSettingFile* configFile = CSimpleSettingFile::NewL( aFs ); CleanupStack::PushL( configFile ); // ***** // Search current drive TFileName path; Dll::FileName( path ); TDriveName drive( TParsePtrC( path ).Drive( ) ); // In emulator we try to find from c drive // in hardware we try to find from current drive and then from RAM. #ifdef __WINS__ TFileName fileN( KSimpleIniFile); #else TFileName fileN( drive ); fileN.Append( KSimpleIniFile ); #endif TInt err = 0; // Open temporary config file TRAP( err, configFile->OpenL( fileN )); if ( err && drive.CompareF( _L("c:") )) { err = KErrNone; fileN = _L("c:"); fileN.Append( KSimpleIniFile ); TRAP( err, configFile->OpenL( fileN )); } if ( err ) { err = KErrNone; TSimpleLogger::Log(_L("Config file not found ***")); User::Leave( KErrNotFound ); } else { TSimpleLogger::Log(_L("Config file found ***")); } TUint32 myUint = 0; TPtrC8 myPtr; TBuf<8> myBuffer; // read expiry times TRAP( err, myPtr.Set( configFile->KeyValueL(KSimpleExpiryPuhlish))); if ( !err ) { myBuffer.Copy( myPtr ); TLex lex; lex.Assign( myBuffer ); lex.Val(myUint, EDecimal); iExpiryPuhlish = (TInt) myUint; } TRAP( err, myPtr.Set( configFile->KeyValueL(KSimpleExpiryWatcher))); if ( !err ) { myBuffer.Copy( myPtr ); TLex lex; lex.Assign( myBuffer ); lex.Val(myUint, EDecimal); iExpiryWatcher = (TInt) myUint; } TRAP( err, myPtr.Set( configFile->KeyValueL(KSimpleExpiryWinfo))); if ( !err ) { myBuffer.Copy( myPtr ); TLex lex; lex.Assign( myBuffer ); lex.Val(myUint, EDecimal); iExpiryWinfo = (TInt) myUint; } TRAP( err, myPtr.Set( configFile->KeyValueL(KSimpleExpiryAPI))); if ( !err ) { myBuffer.Copy( myPtr ); TLex lex; lex.Assign( myBuffer ); lex.Val(myUint, EDecimal); iExpiryApi = (TInt) myUint; } TRAP( err, myPtr.Set( configFile->KeyValueL(KSimpleObjLimit))); if ( !err ) { myBuffer.Copy( myPtr ); TLex lex; lex.Assign( myBuffer ); lex.Val(myUint, EDecimal); iObjLimit = (TInt) myUint; } TRAP( err, myPtr.Set( configFile->KeyValueL(KSimpleThrottle))); if ( !err ) { myBuffer.Copy( myPtr ); TLex lex; lex.Assign( myBuffer ); lex.Val(myUint, EDecimal); iThrottle = (TInt) myUint; } TRAP( err, myPtr.Set( configFile->KeyValueL(KSimpleMaxSubs))); if ( !err ) { myBuffer.Copy( myPtr ); TLex lex; lex.Assign( myBuffer ); lex.Val(myUint, EDecimal); iMaxSubscriptions = (TInt) myUint; } CleanupStack::PopAndDestroy(configFile); // debug logging TSimpleLogger::Log(_L("ReadFile iExpiryPuhlish=%d iExpiryWatcher=%d iExpiryWinfo=%d iExpiryAPI=%d"), iExpiryPuhlish, iExpiryWatcher, iExpiryWinfo, iExpiryApi); TSimpleLogger::Log(_L("ReadFile iObjLimit=%d iThrottle=%d iMaxSubs=%d"), iObjLimit, iThrottle, iMaxSubscriptions ); }