landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp134.cpp
branchRCL_3
changeset 44 2b4ea9893b66
equal deleted inserted replaced
42:02ba3f1733c6 44:2b4ea9893b66
       
     1 /*
       
     2 * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     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".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *   ?description_line
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 //  INCLUDES
       
    21 #include "FT_CPosTp134.h"
       
    22 #include <EPos_CPosLandmarkDatabase.h>
       
    23 #include <EPos_CPosLmMultiDbSearch.h> 
       
    24 #include <EPos_CPosLmTextCriteria.h>
       
    25 #include <EPos_CPosLmCatNameCriteria.h>
       
    26 #include <EPos_CPosLMItemIterator.h>    
       
    27 #include <EPos_TPosLMSortPref.h>
       
    28 #include "FT_CSearchResult.h"
       
    29 #include <EPos_CPosLmDatabaseManager.h>
       
    30 #include <EPos_CPosLmDisplayData.h>
       
    31 #include <EPos_CPosLmDisplayItem.h>
       
    32 #include "FT_LandmarkConstants.h"
       
    33 #include <centralrepository.h>
       
    34      
       
    35 // CONSTANTS
       
    36 _LIT(KUriDb01, "C:TP134DB01.LDB");
       
    37 _LIT(KUriDb01Full, "file://C:TP134DB01.LDB");
       
    38 _LIT(KUriDb02Full, "file://C:TP134DB02.LDB");
       
    39 _LIT(KUriDb02, "C:TP134DB02.LDB");
       
    40 _LIT(KUriDbNonExisting, "file://C:TP104DBBLABLA.LDB");
       
    41 _LIT(KUriDbCorrupt, ":jf785hjtr748.abc");
       
    42 _LIT(KUriNotSupported, "bike://test/tp104.wheel");
       
    43 _LIT(KProtocolFile, "file");
       
    44 
       
    45 #ifdef __WINS__
       
    46     _LIT(KUriRemovableMediaDb, "file://D:REMOVABLEDB.LDB");
       
    47     _LIT(KUriRemovableMediaDbNonExisting, "file://D:REMOVABLEDBBLABLA.LDB");
       
    48     #else
       
    49     _LIT(KUriRemovableMediaDb, "file://F:REMOVABLEDB.LDB");
       
    50     _LIT(KUriRemovableMediaDbNonExisting, "file://F:REMOVABLEDBBLABLA.LDB");
       
    51     #endif
       
    52     
       
    53 _LIT(KNewDbName, "TP134 Disp Name");
       
    54 
       
    55 _LIT(KErrorWrongDrive, "Wrong drive returned from db info");
       
    56 
       
    57 _LIT(KErrorWrongDefault, "Wrong default db returned from db info");
       
    58 _LIT(KErrorWrongDbUri, "Wrong db uri returned from db info");
       
    59 _LIT(KErrorWrongProtocol, "Wrong protocol returned from db info");
       
    60 _LIT(KErrorWrongDbName, "Wrong db name returned from db info");
       
    61 _LIT(KErrorWrongAttributeInfo, "Wrong attribute info from db info");
       
    62 _LIT(KErrorWrongNrOfDbs, "Wrong nr of db:s for ListDatasesL");
       
    63 _LIT(KErrorWrongCodeForNonExistingDb, "Wrong error code for non-existing db");
       
    64 _LIT(KErrorWrongCodeForNonExistingDbRem, "Wrong error code for non-existing db on removable media");
       
    65 _LIT(KErrorWrongCodeForCorruptUri, "Wrong error code for corrupt uri");
       
    66 _LIT(KErrorWrongCodeForNotSupportedUri, "Wrong error code for not supported uri");
       
    67 
       
    68 // ================= MEMBER FUNCTIONS =======================
       
    69 // Cleanup for RPointerArray<HPosLmDatabaseInfo> objects
       
    70 void TP134CleanupTestPointerArray(TAny* aArray)
       
    71 
       
    72     {
       
    73     (static_cast<RPointerArray<HPosLmDatabaseInfo>*>(aArray))->ResetAndDestroy();
       
    74     }
       
    75 
       
    76 // ---------------------------------------------------------
       
    77 // CPosTp134::CloseTest
       
    78 //
       
    79 // (other items were commented in a header).
       
    80 // ---------------------------------------------------------
       
    81 //
       
    82 void CPosTp134::CloseTest()
       
    83     {
       
    84     iLog->Log(_L("CloseTest"));
       
    85     }
       
    86 
       
    87 // ---------------------------------------------------------
       
    88 // CPosTp134::StartL
       
    89 //
       
    90 // (other items were commented in a header).
       
    91 // ---------------------------------------------------------
       
    92 //
       
    93 void CPosTp134::StartL()
       
    94     {
       
    95     iLog->Log(_L("Warning: this test case requires E: drive"));
       
    96     
       
    97     iErrorsFound = KErrNone;
       
    98     RemoveAllLmDatabasesL();
       
    99     SetupExpectedResultsL();
       
   100     // Create the test DB:s
       
   101     iDbMan = CPosLmDatabaseManager::NewL();
       
   102     HPosLmDatabaseInfo* dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
       
   103     iDbMan->CreateDatabaseL(*dbInfo01);
       
   104     CleanupStack::PopAndDestroy(dbInfo01);
       
   105     HPosLmDatabaseInfo* dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02);
       
   106     iDbMan->CreateDatabaseL(*dbInfo02);
       
   107     CleanupStack::PopAndDestroy(dbInfo02);
       
   108     HPosLmDatabaseInfo* dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
       
   109     iDbMan->CreateDatabaseL(*dbInfoRemovableMedia);
       
   110     CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
       
   111     dbInfo02 = NULL;
       
   112     dbInfo01 = NULL;
       
   113     dbInfoRemovableMedia = NULL;
       
   114     
       
   115     // 1 Get info about the default DB
       
   116   /*  dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01Full);
       
   117     iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
       
   118     iDbMan->GetDatabaseInfoL(*dbInfo01);
       
   119     CheckInfoL(dbInfo01, 1);
       
   120     CleanupStack::PopAndDestroy(dbInfo01);
       
   121     dbInfo01 = NULL;*/
       
   122     
       
   123     // 2 Get info about a non-default DB
       
   124     dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
       
   125     iDbMan->GetDatabaseInfoL(*dbInfo02);
       
   126     CheckInfoL(dbInfo02, 2);
       
   127     CleanupStack::PopAndDestroy(dbInfo02);
       
   128     dbInfo02 = NULL;
       
   129     
       
   130     // 3a Change the default db
       
   131     // Check error report "ESLI-6CXJP3 Default database not marked as default"
       
   132    /* iDbMan->SetDefaultDatabaseUriL(KUriDb02);
       
   133     dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
       
   134     iDbMan->GetDatabaseInfoL(*dbInfo02);
       
   135     CheckInfoL(dbInfo02, 3);
       
   136     CleanupStack::PopAndDestroy(dbInfo02);
       
   137     dbInfo02 = NULL;
       
   138     
       
   139     iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
       
   140     
       
   141     // 3b Change the default db
       
   142     // Check error report "ESLI-6CXJP3 Default database not marked as default"
       
   143     iDbMan->SetDefaultDatabaseUriL(KUriDb02Full);
       
   144     iDbUri[3] = KUriDb02;
       
   145     iProtocol[3]  = KNullDesC;
       
   146     dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02);
       
   147     iDbMan->GetDatabaseInfoL(*dbInfo02);
       
   148     CheckInfoL(dbInfo02, 3);
       
   149     CleanupStack::PopAndDestroy(dbInfo02);
       
   150     dbInfo02 = NULL;
       
   151     
       
   152     iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
       
   153     // 3c Change the default db
       
   154     // Check error report "ESLI-6CXJP3 Default database not marked as default"
       
   155     iDbMan->SetDefaultDatabaseUriL(KUriDb02Full);
       
   156     iDbUri[3] = KUriDb02Full;
       
   157     iProtocol[3]  = KProtocolFile;
       
   158     dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
       
   159     iDbMan->GetDatabaseInfoL(*dbInfo02);
       
   160     CheckInfoL(dbInfo02, 3);
       
   161     CleanupStack::PopAndDestroy(dbInfo02);
       
   162     dbInfo02 = NULL;*/
       
   163     
       
   164     
       
   165     // 4 DB on removable media
       
   166     dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
       
   167     iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
       
   168     CheckInfoL(dbInfoRemovableMedia, 4);
       
   169     CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
       
   170     dbInfoRemovableMedia = NULL;
       
   171     
       
   172     // 5 Get info for all databases using ListDatabasesL
       
   173     iDbMan->ListDatabasesL(iDbArray);
       
   174     
       
   175     HPosLmDatabaseInfo* dbInfo = NULL;
       
   176     for(TInt count = 0; count < iDbArray.Count(); count++)
       
   177         {
       
   178         dbInfo = iDbArray[count];
       
   179         TBuf<50> testbuf = dbInfo->DatabaseUri();
       
   180         if (dbInfo->DatabaseUri() == KUriDb01Full)
       
   181             {
       
   182             CheckInfoL(dbInfo, 5);
       
   183             }
       
   184         else if (dbInfo->DatabaseUri() == KUriDb02Full)
       
   185             {
       
   186             CheckInfoL(dbInfo, 6);
       
   187             }
       
   188         else if (dbInfo->DatabaseUri() == KUriRemovableMediaDb)
       
   189             {
       
   190             CheckInfoL(dbInfo, 7);
       
   191             }
       
   192         }
       
   193         
       
   194     // According to header for ListDatabasesL in EPos_CPosLmDatabaseManager.h
       
   195     // "Any objects which are in the array when it is passed to this function are not removed."
       
   196     // Therefore add object and make sure that it is not removed
       
   197     HPosLmDatabaseInfo* testDbInfo = HPosLmDatabaseInfo::NewLC(_L("VeryMuchDummyURI.ldb"));
       
   198     TInt initialDbCount = iDbArray.Count();
       
   199     iDbArray.ResetAndDestroy();
       
   200     iDbArray.Append(testDbInfo);
       
   201     iDbMan->ListDatabasesL(iDbArray);
       
   202     AssertTrueSecL(iDbArray.Count() == initialDbCount +1, _L("iDbArray count should be incremented by 1 due to addition of new db"));
       
   203 
       
   204     CleanupStack::Pop(testDbInfo);
       
   205     iDbArray.ResetAndDestroy();
       
   206          
       
   207     // 6 Get info from a non-existing db:
       
   208     TPosLmDatabaseSettings dummySettings;
       
   209     HPosLmDatabaseInfo* dbInfoNonExisting = HPosLmDatabaseInfo::NewLC(KUriDbNonExisting);
       
   210     TInt err = KErrNone;
       
   211     TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNonExisting));
       
   212     AssertTrueSecL(err == KErrNotFound, KErrorWrongCodeForNonExistingDb);
       
   213     
       
   214     CleanupStack::PopAndDestroy(dbInfoNonExisting);
       
   215     dbInfoNonExisting = NULL;
       
   216     
       
   217     // 7 Get info from a non-existing db on the removable media:
       
   218     HPosLmDatabaseInfo* dbInfoNonExistingRem = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDbNonExisting);
       
   219     TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNonExistingRem));
       
   220     AssertTrueSecL(err == KErrNotFound, KErrorWrongCodeForNonExistingDbRem);
       
   221     CleanupStack::PopAndDestroy(dbInfoNonExistingRem);
       
   222     dbInfoNonExistingRem = NULL;
       
   223     
       
   224     // 8 Get info from a corrupt uri:
       
   225     HPosLmDatabaseInfo* dbInfoCorrupt = HPosLmDatabaseInfo::NewLC(KUriDbCorrupt);
       
   226     TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoCorrupt));
       
   227     AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForCorruptUri);
       
   228     TRAP(err, iDbMan->ModifyDatabaseSettingsL(KUriDbCorrupt, dummySettings));
       
   229     AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForCorruptUri);
       
   230     CleanupStack::PopAndDestroy(dbInfoCorrupt);
       
   231     dbInfoCorrupt = NULL;
       
   232     
       
   233     // 9 Get info from a non-supported protocol in uri
       
   234     HPosLmDatabaseInfo* dbInfoNotSupported = HPosLmDatabaseInfo::NewLC(KUriNotSupported);
       
   235     TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNotSupported));
       
   236     AssertTrueSecL(err == KErrNotSupported, KErrorWrongCodeForNotSupportedUri);
       
   237     TRAP(err, iDbMan->ModifyDatabaseSettingsL(KUriNotSupported, dummySettings));
       
   238     AssertTrueSecL(err == KErrNotSupported, KErrorWrongCodeForNotSupportedUri);
       
   239     CleanupStack::PopAndDestroy(dbInfoNotSupported);
       
   240     dbInfoNotSupported = NULL;
       
   241     
       
   242     // 10 Get info from the non-default db
       
   243     dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
       
   244     iDbMan->GetDatabaseInfoL(*dbInfo01);
       
   245     CheckInfoL(dbInfo01, 8);
       
   246     
       
   247     // 11 Change the display name for the non-default DB
       
   248     TPosLmDatabaseSettings settings = dbInfo01->Settings();
       
   249     TPosLmDatabaseName bufName(KNewDbName);
       
   250     settings.SetDatabaseName(bufName);
       
   251     iDbMan->ModifyDatabaseSettingsL(KUriDb01, settings);
       
   252     CleanupStack::PopAndDestroy(dbInfo01);
       
   253     dbInfo01 = NULL;
       
   254     
       
   255     // 12 Get info after name change
       
   256     dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
       
   257     iDbMan->GetDatabaseInfoL(*dbInfo01);
       
   258     CheckInfoL(dbInfo01, 9);
       
   259     CleanupStack::PopAndDestroy(dbInfo01);
       
   260     dbInfo01 = NULL;
       
   261     
       
   262     // 10b Get info from the removable media db
       
   263     dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
       
   264     iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
       
   265     CheckInfoL(dbInfoRemovableMedia, 11);
       
   266     
       
   267     // 11b Change the display name for the non-default DB
       
   268     settings = dbInfoRemovableMedia->Settings();
       
   269     bufName = KNewDbName;
       
   270     settings.SetDatabaseName(bufName);
       
   271     iDbMan->ModifyDatabaseSettingsL(KUriRemovableMediaDb, settings);
       
   272     CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
       
   273     dbInfoRemovableMedia = NULL;
       
   274     
       
   275     // 12b Get info after name change
       
   276     dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
       
   277     iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
       
   278     CheckInfoL(dbInfoRemovableMedia, 12);
       
   279     CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
       
   280     dbInfoRemovableMedia = NULL;
       
   281     
       
   282     // 13 Get info after name change
       
   283     dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
       
   284     iDbMan->GetDatabaseInfoL(*dbInfo01);
       
   285     CheckInfoL(dbInfo01, 9);
       
   286     
       
   287     // 14 Change display name, but use the unset attribute mechanism
       
   288     settings = dbInfo01->Settings();
       
   289     settings.UnsetAttribute(TPosLmDatabaseSettings::EName);
       
   290     iDbMan->ModifyDatabaseSettingsL(KUriDb01, settings);
       
   291     CleanupStack::PopAndDestroy(dbInfo01);
       
   292     dbInfo01 = NULL;
       
   293     
       
   294     // 15 Get info after "non-name-change"
       
   295     dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
       
   296     iDbMan->GetDatabaseInfoL(*dbInfo01);
       
   297     CheckInfoL(dbInfo01, 10);
       
   298     CleanupStack::PopAndDestroy(dbInfo01);
       
   299     dbInfo01 = NULL;
       
   300     
       
   301     // 16 Check max length and KNullDesC
       
   302     //_LIT(KErrorWrongCode, "Didn't receive correct error code");
       
   303 	_LIT(KMaxLengthString64,    "1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   304     _LIT(KMaxLengthString64Bad, "x1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   305     _LIT(KMaxLengthString66,    "c:2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   306     _LIT(KMaxLengthString66Bad, "c:x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   307     _LIT(KMaxLengthString71,    "file://3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   308     _LIT(KMaxLengthString71Bad, "file://x3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   309     _LIT(KMaxLengthString73,    "file://c:4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   310     _LIT(KMaxLengthString73Bad, "file://c:x4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
       
   311     
       
   312     CheckUriLengthL(KMaxLengthString64, KErrNotFound);
       
   313     CheckUriLengthL(KMaxLengthString64Bad, KErrNotFound); // tbd shall it be like this? (Should be KErrArgument)
       
   314     CheckUriLengthL(KMaxLengthString66, KErrNotFound);
       
   315     CheckUriLengthL(KMaxLengthString66Bad, KErrNotFound); // tbd shall it be like this?
       
   316     CheckUriLengthL(KMaxLengthString71, KErrNotFound);
       
   317     CheckUriLengthL(KMaxLengthString71Bad, KErrNotFound); // tbd shall it be like this?
       
   318     CheckUriLengthL(KMaxLengthString73, KErrNotFound);
       
   319     CheckUriLengthL(KMaxLengthString73Bad, KErrNotFound); // tbd shall it be like this?
       
   320     CheckUriLengthL(KNullDesC, KErrArgument); //tbd This crashes, should it be so?
       
   321     
       
   322     if (iErrorsFound != KErrNone) //LogErrorAndLeave(_L("Errors found in TP134"));
       
   323     	{
       
   324     	iLog->Log(_L("Errors found in TP134"));
       
   325     	User::Leave(-1);	
       
   326     	}
       
   327     else iLog->Log(_L("CPosTp134 Passed"));
       
   328     
       
   329     }
       
   330     
       
   331 void CPosTp134::CheckInfoL(HPosLmDatabaseInfo* aDbInfo, TInt aTestNr)
       
   332     {
       
   333     _LIT(KTestInfo, "Step nr %d");
       
   334     TBuf<20> testInfo;
       
   335     testInfo.Format(KTestInfo, aTestNr);
       
   336     iLog->Log(testInfo);
       
   337     
       
   338     AssertTrueSecL(iDbDrive[aTestNr] == (aDbInfo->DatabaseDrive()).GetUpperCase(), KErrorWrongDrive);
       
   339 
       
   340    
       
   341     iLog->Log(aDbInfo->DatabaseUri());
       
   342     iLog->Log(iDbUri[aTestNr]);
       
   343     AssertTrueSecL(iDbUri[aTestNr] == aDbInfo->DatabaseUri(), KErrorWrongDbUri);
       
   344     
       
   345     AssertTrueSecL(iProtocol[aTestNr] == aDbInfo->Protocol(), KErrorWrongProtocol);
       
   346     
       
   347     TPosLmDatabaseSettings settings = aDbInfo->Settings();
       
   348     if ( iDbName[aTestNr] != settings.DatabaseName() )
       
   349         {
       
   350         iLog->Log(_L("CheckInfo: dbNames do not match: exp '%S', act '%S'"),
       
   351             &iDbName[aTestNr], &settings.DatabaseName() );
       
   352         User::Leave( KErrGeneral );
       
   353         }
       
   354 
       
   355     AssertTrueSecL(iAttrSet[aTestNr] == settings.IsAttributeSet(TPosLmDatabaseSettings::EName),
       
   356                                                                 KErrorWrongAttributeInfo);
       
   357     }
       
   358     
       
   359 void CPosTp134::SetupExpectedResultsL()
       
   360     {
       
   361     TChar cDrive = 'C';
       
   362     #ifdef __WINS__
       
   363     TChar removableDrive = 'D';
       
   364     TMediaType mediaTypeRemovable = EMediaHardDisk;
       
   365     // DatabaseMedia() seems to return EMediaRam for WINS and EMediaFlash for target
       
   366     TMediaType mediaType = EMediaRam;
       
   367     #else
       
   368     TMediaType mediaTypeRemovable = EMediaFlash;
       
   369     TChar removableDrive = 'F';
       
   370     // DatabaseMedia() seems to return EMediaRam for WINS and EMediaFlash for target
       
   371     TMediaType mediaType = EMediaNANDFlash;
       
   372     #endif
       
   373     
       
   374     HBufC* dbName = ReadDefaultDatabaseNameFromResourceLC();
       
   375     iLog->Log(_L("Default database name: '%S'"), dbName );
       
   376     
       
   377     iDbDrive[1]   = cDrive;
       
   378     iMediaType[1] = mediaType;
       
   379     iDefaultDb[1] = ETrue;
       
   380     iDbUri[1]     = KUriDb01Full;
       
   381     iProtocol[1]  = KProtocolFile;
       
   382     iDbName[1]    = *dbName;
       
   383     iAttrSet[1]   = ETrue; // TBD Shall it actually be so?
       
   384     
       
   385     iDbDrive[2]   = cDrive;
       
   386     iMediaType[2] = mediaType;
       
   387     iDefaultDb[2] = EFalse;
       
   388     iDbUri[2]     = KUriDb02Full;
       
   389     iProtocol[2]  = KProtocolFile;
       
   390     iDbName[2]    = KNullDesC;
       
   391     iAttrSet[2]   = EFalse;
       
   392     
       
   393     iDbDrive[3]   = cDrive;
       
   394     iMediaType[3] = mediaType;
       
   395     iDefaultDb[3] = ETrue;
       
   396     iDbUri[3]     = KUriDb02Full;
       
   397     iProtocol[3]  = KProtocolFile;
       
   398     iDbName[3]    = *dbName;
       
   399     iAttrSet[3]   = ETrue;
       
   400     
       
   401     iDbDrive[4]   = removableDrive;
       
   402     iMediaType[4] = mediaTypeRemovable;
       
   403     iDefaultDb[4] = EFalse;
       
   404     iDbUri[4]     = KUriRemovableMediaDb;
       
   405     iProtocol[4]  = KProtocolFile;
       
   406     iDbName[4]    = KNullDesC;
       
   407     iAttrSet[4]   = EFalse;
       
   408     
       
   409     iDbDrive[5]   = cDrive;
       
   410     iMediaType[5] = mediaType;
       
   411     iDefaultDb[5] = EFalse;
       
   412     iDbUri[5]     = KUriDb01Full;
       
   413     iProtocol[5]  = KProtocolFile;
       
   414     iDbName[5]    = KNullDesC;
       
   415     iAttrSet[5]   = EFalse;
       
   416     
       
   417     iDbDrive[6]   = cDrive;
       
   418     iMediaType[6] = mediaType;
       
   419     iDefaultDb[6] = ETrue;
       
   420     iDbUri[6]     = KUriDb02Full;
       
   421     iProtocol[6]  = KProtocolFile;
       
   422     iDbName[6]    = KNullDesC;
       
   423     iAttrSet[6]   = EFalse;
       
   424     
       
   425     iDbDrive[7]   = removableDrive;
       
   426     iMediaType[7] = mediaTypeRemovable;
       
   427     iDefaultDb[7] = EFalse;
       
   428     iDbUri[7]     = KUriRemovableMediaDb;
       
   429     iProtocol[7]  = KProtocolFile;
       
   430     iDbName[7]    = KNullDesC;
       
   431     iAttrSet[7]   = EFalse;
       
   432     
       
   433     iDbDrive[8]   = cDrive;
       
   434     iMediaType[8] = mediaType;
       
   435     iDefaultDb[8] = EFalse;
       
   436     iDbUri[8]     = KUriDb01;
       
   437     iProtocol[8]  = KNullDesC;
       
   438     iDbName[8]    = KNullDesC;
       
   439     iAttrSet[8]   = EFalse;
       
   440 
       
   441     iDbDrive[9]   = cDrive;
       
   442     iMediaType[9] = mediaType;
       
   443     iDefaultDb[9] = EFalse;
       
   444     iDbUri[9]     = KUriDb01;
       
   445     iProtocol[9]  = KNullDesC;
       
   446     iDbName[9]    = KNewDbName;
       
   447     iAttrSet[9]   = ETrue;
       
   448     
       
   449     iDbDrive[10]   = cDrive;
       
   450     iMediaType[10] = mediaType;
       
   451     iDefaultDb[10] = EFalse;
       
   452     iDbUri[10]     = KUriDb01;
       
   453     iProtocol[10]  = KNullDesC;
       
   454     iDbName[10]    = KNullDesC;
       
   455     iAttrSet[10]   = EFalse;
       
   456     
       
   457     iDbDrive[11]   = removableDrive;
       
   458     iMediaType[11] = mediaTypeRemovable;
       
   459     iDefaultDb[11] = EFalse;
       
   460     iDbUri[11]     = KUriRemovableMediaDb;
       
   461     iProtocol[11]  = KProtocolFile;
       
   462     iDbName[11]    = KNullDesC;
       
   463     iAttrSet[11]   = EFalse;
       
   464     
       
   465     iDbDrive[12]   = removableDrive;
       
   466     iMediaType[12] = mediaTypeRemovable;
       
   467     iDefaultDb[12] = EFalse;
       
   468     iDbUri[12]     = KUriRemovableMediaDb;
       
   469     iProtocol[12]  = KProtocolFile;
       
   470     iDbName[12]    = KNewDbName;
       
   471     iAttrSet[12]   = ETrue;
       
   472     
       
   473     CleanupStack::PopAndDestroy( dbName );
       
   474     }
       
   475     
       
   476 void CPosTp134::CheckUriLengthL(const TDesC& aUri,
       
   477                                 TInt aExpectedErrorCode)
       
   478     {
       
   479     _LIT(KErrorWrongCode, "Wrong code when testing uri lengths");
       
   480     TPosLmDatabaseSettings dummySettings;
       
   481     HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(aUri);
       
   482     TInt err = KErrNone;
       
   483     TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfo));
       
   484     AssertTrueSecL(err == aExpectedErrorCode, KErrorWrongCode);
       
   485     TRAP(err, iDbMan->ModifyDatabaseSettingsL(aUri, dummySettings));
       
   486     AssertTrueSecL(err == aExpectedErrorCode, KErrorWrongCode);
       
   487     CleanupStack::PopAndDestroy(dbInfo);    
       
   488     }
       
   489 
       
   490 //  End of File