landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp134.cpp
branchRCL_3
changeset 44 2b4ea9893b66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/src/FT_CPosTp134.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,490 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   ?description_line
+*
+*/
+
+
+//  INCLUDES
+#include "FT_CPosTp134.h"
+#include <EPos_CPosLandmarkDatabase.h>
+#include <EPos_CPosLmMultiDbSearch.h> 
+#include <EPos_CPosLmTextCriteria.h>
+#include <EPos_CPosLmCatNameCriteria.h>
+#include <EPos_CPosLMItemIterator.h>    
+#include <EPos_TPosLMSortPref.h>
+#include "FT_CSearchResult.h"
+#include <EPos_CPosLmDatabaseManager.h>
+#include <EPos_CPosLmDisplayData.h>
+#include <EPos_CPosLmDisplayItem.h>
+#include "FT_LandmarkConstants.h"
+#include <centralrepository.h>
+     
+// CONSTANTS
+_LIT(KUriDb01, "C:TP134DB01.LDB");
+_LIT(KUriDb01Full, "file://C:TP134DB01.LDB");
+_LIT(KUriDb02Full, "file://C:TP134DB02.LDB");
+_LIT(KUriDb02, "C:TP134DB02.LDB");
+_LIT(KUriDbNonExisting, "file://C:TP104DBBLABLA.LDB");
+_LIT(KUriDbCorrupt, ":jf785hjtr748.abc");
+_LIT(KUriNotSupported, "bike://test/tp104.wheel");
+_LIT(KProtocolFile, "file");
+
+#ifdef __WINS__
+    _LIT(KUriRemovableMediaDb, "file://D:REMOVABLEDB.LDB");
+    _LIT(KUriRemovableMediaDbNonExisting, "file://D:REMOVABLEDBBLABLA.LDB");
+    #else
+    _LIT(KUriRemovableMediaDb, "file://F:REMOVABLEDB.LDB");
+    _LIT(KUriRemovableMediaDbNonExisting, "file://F:REMOVABLEDBBLABLA.LDB");
+    #endif
+    
+_LIT(KNewDbName, "TP134 Disp Name");
+
+_LIT(KErrorWrongDrive, "Wrong drive returned from db info");
+
+_LIT(KErrorWrongDefault, "Wrong default db returned from db info");
+_LIT(KErrorWrongDbUri, "Wrong db uri returned from db info");
+_LIT(KErrorWrongProtocol, "Wrong protocol returned from db info");
+_LIT(KErrorWrongDbName, "Wrong db name returned from db info");
+_LIT(KErrorWrongAttributeInfo, "Wrong attribute info from db info");
+_LIT(KErrorWrongNrOfDbs, "Wrong nr of db:s for ListDatasesL");
+_LIT(KErrorWrongCodeForNonExistingDb, "Wrong error code for non-existing db");
+_LIT(KErrorWrongCodeForNonExistingDbRem, "Wrong error code for non-existing db on removable media");
+_LIT(KErrorWrongCodeForCorruptUri, "Wrong error code for corrupt uri");
+_LIT(KErrorWrongCodeForNotSupportedUri, "Wrong error code for not supported uri");
+
+// ================= MEMBER FUNCTIONS =======================
+// Cleanup for RPointerArray<HPosLmDatabaseInfo> objects
+void TP134CleanupTestPointerArray(TAny* aArray)
+
+    {
+    (static_cast<RPointerArray<HPosLmDatabaseInfo>*>(aArray))->ResetAndDestroy();
+    }
+
+// ---------------------------------------------------------
+// CPosTp134::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp134::CloseTest()
+    {
+    iLog->Log(_L("CloseTest"));
+    }
+
+// ---------------------------------------------------------
+// CPosTp134::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CPosTp134::StartL()
+    {
+    iLog->Log(_L("Warning: this test case requires E: drive"));
+    
+    iErrorsFound = KErrNone;
+    RemoveAllLmDatabasesL();
+    SetupExpectedResultsL();
+    // Create the test DB:s
+    iDbMan = CPosLmDatabaseManager::NewL();
+    HPosLmDatabaseInfo* dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->CreateDatabaseL(*dbInfo01);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    HPosLmDatabaseInfo* dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02);
+    iDbMan->CreateDatabaseL(*dbInfo02);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    HPosLmDatabaseInfo* dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->CreateDatabaseL(*dbInfoRemovableMedia);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfo02 = NULL;
+    dbInfo01 = NULL;
+    dbInfoRemovableMedia = NULL;
+    
+    // 1 Get info about the default DB
+  /*  dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01Full);
+    iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 1);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;*/
+    
+    // 2 Get info about a non-default DB
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 2);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;
+    
+    // 3a Change the default db
+    // Check error report "ESLI-6CXJP3 Default database not marked as default"
+   /* iDbMan->SetDefaultDatabaseUriL(KUriDb02);
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 3);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;
+    
+    iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
+    
+    // 3b Change the default db
+    // Check error report "ESLI-6CXJP3 Default database not marked as default"
+    iDbMan->SetDefaultDatabaseUriL(KUriDb02Full);
+    iDbUri[3] = KUriDb02;
+    iProtocol[3]  = KNullDesC;
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 3);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;
+    
+    iDbMan->SetDefaultDatabaseUriL(KUriDb01Full);
+    // 3c Change the default db
+    // Check error report "ESLI-6CXJP3 Default database not marked as default"
+    iDbMan->SetDefaultDatabaseUriL(KUriDb02Full);
+    iDbUri[3] = KUriDb02Full;
+    iProtocol[3]  = KProtocolFile;
+    dbInfo02 = HPosLmDatabaseInfo::NewLC(KUriDb02Full);
+    iDbMan->GetDatabaseInfoL(*dbInfo02);
+    CheckInfoL(dbInfo02, 3);
+    CleanupStack::PopAndDestroy(dbInfo02);
+    dbInfo02 = NULL;*/
+    
+    
+    // 4 DB on removable media
+    dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
+    CheckInfoL(dbInfoRemovableMedia, 4);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfoRemovableMedia = NULL;
+    
+    // 5 Get info for all databases using ListDatabasesL
+    iDbMan->ListDatabasesL(iDbArray);
+    
+    HPosLmDatabaseInfo* dbInfo = NULL;
+    for(TInt count = 0; count < iDbArray.Count(); count++)
+        {
+        dbInfo = iDbArray[count];
+        TBuf<50> testbuf = dbInfo->DatabaseUri();
+        if (dbInfo->DatabaseUri() == KUriDb01Full)
+            {
+            CheckInfoL(dbInfo, 5);
+            }
+        else if (dbInfo->DatabaseUri() == KUriDb02Full)
+            {
+            CheckInfoL(dbInfo, 6);
+            }
+        else if (dbInfo->DatabaseUri() == KUriRemovableMediaDb)
+            {
+            CheckInfoL(dbInfo, 7);
+            }
+        }
+        
+    // According to header for ListDatabasesL in EPos_CPosLmDatabaseManager.h
+    // "Any objects which are in the array when it is passed to this function are not removed."
+    // Therefore add object and make sure that it is not removed
+    HPosLmDatabaseInfo* testDbInfo = HPosLmDatabaseInfo::NewLC(_L("VeryMuchDummyURI.ldb"));
+    TInt initialDbCount = iDbArray.Count();
+    iDbArray.ResetAndDestroy();
+    iDbArray.Append(testDbInfo);
+    iDbMan->ListDatabasesL(iDbArray);
+    AssertTrueSecL(iDbArray.Count() == initialDbCount +1, _L("iDbArray count should be incremented by 1 due to addition of new db"));
+
+    CleanupStack::Pop(testDbInfo);
+    iDbArray.ResetAndDestroy();
+         
+    // 6 Get info from a non-existing db:
+    TPosLmDatabaseSettings dummySettings;
+    HPosLmDatabaseInfo* dbInfoNonExisting = HPosLmDatabaseInfo::NewLC(KUriDbNonExisting);
+    TInt err = KErrNone;
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNonExisting));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCodeForNonExistingDb);
+    
+    CleanupStack::PopAndDestroy(dbInfoNonExisting);
+    dbInfoNonExisting = NULL;
+    
+    // 7 Get info from a non-existing db on the removable media:
+    HPosLmDatabaseInfo* dbInfoNonExistingRem = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDbNonExisting);
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNonExistingRem));
+    AssertTrueSecL(err == KErrNotFound, KErrorWrongCodeForNonExistingDbRem);
+    CleanupStack::PopAndDestroy(dbInfoNonExistingRem);
+    dbInfoNonExistingRem = NULL;
+    
+    // 8 Get info from a corrupt uri:
+    HPosLmDatabaseInfo* dbInfoCorrupt = HPosLmDatabaseInfo::NewLC(KUriDbCorrupt);
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoCorrupt));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForCorruptUri);
+    TRAP(err, iDbMan->ModifyDatabaseSettingsL(KUriDbCorrupt, dummySettings));
+    AssertTrueSecL(err == KErrArgument, KErrorWrongCodeForCorruptUri);
+    CleanupStack::PopAndDestroy(dbInfoCorrupt);
+    dbInfoCorrupt = NULL;
+    
+    // 9 Get info from a non-supported protocol in uri
+    HPosLmDatabaseInfo* dbInfoNotSupported = HPosLmDatabaseInfo::NewLC(KUriNotSupported);
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfoNotSupported));
+    AssertTrueSecL(err == KErrNotSupported, KErrorWrongCodeForNotSupportedUri);
+    TRAP(err, iDbMan->ModifyDatabaseSettingsL(KUriNotSupported, dummySettings));
+    AssertTrueSecL(err == KErrNotSupported, KErrorWrongCodeForNotSupportedUri);
+    CleanupStack::PopAndDestroy(dbInfoNotSupported);
+    dbInfoNotSupported = NULL;
+    
+    // 10 Get info from the non-default db
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 8);
+    
+    // 11 Change the display name for the non-default DB
+    TPosLmDatabaseSettings settings = dbInfo01->Settings();
+    TPosLmDatabaseName bufName(KNewDbName);
+    settings.SetDatabaseName(bufName);
+    iDbMan->ModifyDatabaseSettingsL(KUriDb01, settings);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 12 Get info after name change
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 9);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 10b Get info from the removable media db
+    dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
+    CheckInfoL(dbInfoRemovableMedia, 11);
+    
+    // 11b Change the display name for the non-default DB
+    settings = dbInfoRemovableMedia->Settings();
+    bufName = KNewDbName;
+    settings.SetDatabaseName(bufName);
+    iDbMan->ModifyDatabaseSettingsL(KUriRemovableMediaDb, settings);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfoRemovableMedia = NULL;
+    
+    // 12b Get info after name change
+    dbInfoRemovableMedia = HPosLmDatabaseInfo::NewLC(KUriRemovableMediaDb);
+    iDbMan->GetDatabaseInfoL(*dbInfoRemovableMedia);
+    CheckInfoL(dbInfoRemovableMedia, 12);
+    CleanupStack::PopAndDestroy(dbInfoRemovableMedia);
+    dbInfoRemovableMedia = NULL;
+    
+    // 13 Get info after name change
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 9);
+    
+    // 14 Change display name, but use the unset attribute mechanism
+    settings = dbInfo01->Settings();
+    settings.UnsetAttribute(TPosLmDatabaseSettings::EName);
+    iDbMan->ModifyDatabaseSettingsL(KUriDb01, settings);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 15 Get info after "non-name-change"
+    dbInfo01 = HPosLmDatabaseInfo::NewLC(KUriDb01);
+    iDbMan->GetDatabaseInfoL(*dbInfo01);
+    CheckInfoL(dbInfo01, 10);
+    CleanupStack::PopAndDestroy(dbInfo01);
+    dbInfo01 = NULL;
+    
+    // 16 Check max length and KNullDesC
+    //_LIT(KErrorWrongCode, "Didn't receive correct error code");
+	_LIT(KMaxLengthString64,    "1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString64Bad, "x1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString66,    "c:2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString66Bad, "c:x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString71,    "file://3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString71Bad, "file://x3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString73,    "file://c:4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    _LIT(KMaxLengthString73Bad, "file://c:x4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ldb");
+    
+    CheckUriLengthL(KMaxLengthString64, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString64Bad, KErrNotFound); // tbd shall it be like this? (Should be KErrArgument)
+    CheckUriLengthL(KMaxLengthString66, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString66Bad, KErrNotFound); // tbd shall it be like this?
+    CheckUriLengthL(KMaxLengthString71, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString71Bad, KErrNotFound); // tbd shall it be like this?
+    CheckUriLengthL(KMaxLengthString73, KErrNotFound);
+    CheckUriLengthL(KMaxLengthString73Bad, KErrNotFound); // tbd shall it be like this?
+    CheckUriLengthL(KNullDesC, KErrArgument); //tbd This crashes, should it be so?
+    
+    if (iErrorsFound != KErrNone) //LogErrorAndLeave(_L("Errors found in TP134"));
+    	{
+    	iLog->Log(_L("Errors found in TP134"));
+    	User::Leave(-1);	
+    	}
+    else iLog->Log(_L("CPosTp134 Passed"));
+    
+    }
+    
+void CPosTp134::CheckInfoL(HPosLmDatabaseInfo* aDbInfo, TInt aTestNr)
+    {
+    _LIT(KTestInfo, "Step nr %d");
+    TBuf<20> testInfo;
+    testInfo.Format(KTestInfo, aTestNr);
+    iLog->Log(testInfo);
+    
+    AssertTrueSecL(iDbDrive[aTestNr] == (aDbInfo->DatabaseDrive()).GetUpperCase(), KErrorWrongDrive);
+
+   
+    iLog->Log(aDbInfo->DatabaseUri());
+    iLog->Log(iDbUri[aTestNr]);
+    AssertTrueSecL(iDbUri[aTestNr] == aDbInfo->DatabaseUri(), KErrorWrongDbUri);
+    
+    AssertTrueSecL(iProtocol[aTestNr] == aDbInfo->Protocol(), KErrorWrongProtocol);
+    
+    TPosLmDatabaseSettings settings = aDbInfo->Settings();
+    if ( iDbName[aTestNr] != settings.DatabaseName() )
+        {
+        iLog->Log(_L("CheckInfo: dbNames do not match: exp '%S', act '%S'"),
+            &iDbName[aTestNr], &settings.DatabaseName() );
+        User::Leave( KErrGeneral );
+        }
+
+    AssertTrueSecL(iAttrSet[aTestNr] == settings.IsAttributeSet(TPosLmDatabaseSettings::EName),
+                                                                KErrorWrongAttributeInfo);
+    }
+    
+void CPosTp134::SetupExpectedResultsL()
+    {
+    TChar cDrive = 'C';
+    #ifdef __WINS__
+    TChar removableDrive = 'D';
+    TMediaType mediaTypeRemovable = EMediaHardDisk;
+    // DatabaseMedia() seems to return EMediaRam for WINS and EMediaFlash for target
+    TMediaType mediaType = EMediaRam;
+    #else
+    TMediaType mediaTypeRemovable = EMediaFlash;
+    TChar removableDrive = 'F';
+    // DatabaseMedia() seems to return EMediaRam for WINS and EMediaFlash for target
+    TMediaType mediaType = EMediaNANDFlash;
+    #endif
+    
+    HBufC* dbName = ReadDefaultDatabaseNameFromResourceLC();
+    iLog->Log(_L("Default database name: '%S'"), dbName );
+    
+    iDbDrive[1]   = cDrive;
+    iMediaType[1] = mediaType;
+    iDefaultDb[1] = ETrue;
+    iDbUri[1]     = KUriDb01Full;
+    iProtocol[1]  = KProtocolFile;
+    iDbName[1]    = *dbName;
+    iAttrSet[1]   = ETrue; // TBD Shall it actually be so?
+    
+    iDbDrive[2]   = cDrive;
+    iMediaType[2] = mediaType;
+    iDefaultDb[2] = EFalse;
+    iDbUri[2]     = KUriDb02Full;
+    iProtocol[2]  = KProtocolFile;
+    iDbName[2]    = KNullDesC;
+    iAttrSet[2]   = EFalse;
+    
+    iDbDrive[3]   = cDrive;
+    iMediaType[3] = mediaType;
+    iDefaultDb[3] = ETrue;
+    iDbUri[3]     = KUriDb02Full;
+    iProtocol[3]  = KProtocolFile;
+    iDbName[3]    = *dbName;
+    iAttrSet[3]   = ETrue;
+    
+    iDbDrive[4]   = removableDrive;
+    iMediaType[4] = mediaTypeRemovable;
+    iDefaultDb[4] = EFalse;
+    iDbUri[4]     = KUriRemovableMediaDb;
+    iProtocol[4]  = KProtocolFile;
+    iDbName[4]    = KNullDesC;
+    iAttrSet[4]   = EFalse;
+    
+    iDbDrive[5]   = cDrive;
+    iMediaType[5] = mediaType;
+    iDefaultDb[5] = EFalse;
+    iDbUri[5]     = KUriDb01Full;
+    iProtocol[5]  = KProtocolFile;
+    iDbName[5]    = KNullDesC;
+    iAttrSet[5]   = EFalse;
+    
+    iDbDrive[6]   = cDrive;
+    iMediaType[6] = mediaType;
+    iDefaultDb[6] = ETrue;
+    iDbUri[6]     = KUriDb02Full;
+    iProtocol[6]  = KProtocolFile;
+    iDbName[6]    = KNullDesC;
+    iAttrSet[6]   = EFalse;
+    
+    iDbDrive[7]   = removableDrive;
+    iMediaType[7] = mediaTypeRemovable;
+    iDefaultDb[7] = EFalse;
+    iDbUri[7]     = KUriRemovableMediaDb;
+    iProtocol[7]  = KProtocolFile;
+    iDbName[7]    = KNullDesC;
+    iAttrSet[7]   = EFalse;
+    
+    iDbDrive[8]   = cDrive;
+    iMediaType[8] = mediaType;
+    iDefaultDb[8] = EFalse;
+    iDbUri[8]     = KUriDb01;
+    iProtocol[8]  = KNullDesC;
+    iDbName[8]    = KNullDesC;
+    iAttrSet[8]   = EFalse;
+
+    iDbDrive[9]   = cDrive;
+    iMediaType[9] = mediaType;
+    iDefaultDb[9] = EFalse;
+    iDbUri[9]     = KUriDb01;
+    iProtocol[9]  = KNullDesC;
+    iDbName[9]    = KNewDbName;
+    iAttrSet[9]   = ETrue;
+    
+    iDbDrive[10]   = cDrive;
+    iMediaType[10] = mediaType;
+    iDefaultDb[10] = EFalse;
+    iDbUri[10]     = KUriDb01;
+    iProtocol[10]  = KNullDesC;
+    iDbName[10]    = KNullDesC;
+    iAttrSet[10]   = EFalse;
+    
+    iDbDrive[11]   = removableDrive;
+    iMediaType[11] = mediaTypeRemovable;
+    iDefaultDb[11] = EFalse;
+    iDbUri[11]     = KUriRemovableMediaDb;
+    iProtocol[11]  = KProtocolFile;
+    iDbName[11]    = KNullDesC;
+    iAttrSet[11]   = EFalse;
+    
+    iDbDrive[12]   = removableDrive;
+    iMediaType[12] = mediaTypeRemovable;
+    iDefaultDb[12] = EFalse;
+    iDbUri[12]     = KUriRemovableMediaDb;
+    iProtocol[12]  = KProtocolFile;
+    iDbName[12]    = KNewDbName;
+    iAttrSet[12]   = ETrue;
+    
+    CleanupStack::PopAndDestroy( dbName );
+    }
+    
+void CPosTp134::CheckUriLengthL(const TDesC& aUri,
+                                TInt aExpectedErrorCode)
+    {
+    _LIT(KErrorWrongCode, "Wrong code when testing uri lengths");
+    TPosLmDatabaseSettings dummySettings;
+    HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(aUri);
+    TInt err = KErrNone;
+    TRAP(err, iDbMan->GetDatabaseInfoL(*dbInfo));
+    AssertTrueSecL(err == aExpectedErrorCode, KErrorWrongCode);
+    TRAP(err, iDbMan->ModifyDatabaseSettingsL(aUri, dummySettings));
+    AssertTrueSecL(err == aExpectedErrorCode, KErrorWrongCode);
+    CleanupStack::PopAndDestroy(dbInfo);    
+    }
+
+//  End of File