loc_pub/landmarks_ui_selector_api/tsrc/src/testlmuiselectorblocks.cpp
branchRCL_3
changeset 17 1fc85118c3ae
parent 16 8173571d354e
child 18 870918037e16
equal deleted inserted replaced
16:8173571d354e 17:1fc85118c3ae
     1 /*
       
     2 * Copyright (c) 2007 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:    LandmarksUi Content File -  Entry point for test cases in stif module
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 
       
    24 
       
    25 // INCLUDE FILES
       
    26 #include <e32svr.h>
       
    27 #include <StifParser.h>
       
    28 #include <Stiftestinterface.h>
       
    29 #include <EPos_CPosLmDatabaseManager.h>
       
    30 #include "testlmuiselector.h"
       
    31 #include "testlmkitemiddbcombiinf.h"
       
    32 
       
    33 
       
    34 // EXTERNAL DATA STRUCTURES
       
    35 //extern  ?external_data;
       
    36 
       
    37 // EXTERNAL FUNCTION PROTOTYPES
       
    38 //extern ?external_function( ?arg_type,?arg_type );
       
    39 
       
    40 // CONSTANTS
       
    41 //const ?type ?constant_var = ?constant;
       
    42 
       
    43 // MACROS
       
    44 //#define ?macro ?macro_def
       
    45 
       
    46 // LOCAL CONSTANTS AND MACROS
       
    47 //const ?type ?constant_var = ?constant;
       
    48 //#define ?macro_name ?macro_def
       
    49 
       
    50 // MODULE DATA STRUCTURES
       
    51 //enum ?declaration
       
    52 //typedef ?declaration
       
    53 
       
    54 // LOCAL FUNCTION PROTOTYPES
       
    55 //?type ?function_name( ?arg_type, ?arg_type );
       
    56 
       
    57 // FORWARD DECLARATIONS
       
    58 //class ?FORWARD_CLASSNAME;
       
    59 
       
    60 // ============================= LOCAL FUNCTIONS ===============================
       
    61 
       
    62 // -----------------------------------------------------------------------------
       
    63 // ?function_name ?description.
       
    64 // ?description
       
    65 // Returns: ?value_1: ?description
       
    66 //          ?value_n: ?description_line1
       
    67 //                    ?description_line2
       
    68 // -----------------------------------------------------------------------------
       
    69 //
       
    70 /*
       
    71 ?type ?function_name(
       
    72     ?arg_type arg,  // ?description
       
    73     ?arg_type arg)  // ?description
       
    74     {
       
    75 
       
    76     ?code  // ?comment
       
    77 
       
    78     // ?comment
       
    79     ?code
       
    80     }
       
    81 */
       
    82 
       
    83 // ============================ MEMBER FUNCTIONS ===============================
       
    84 
       
    85 // -----------------------------------------------------------------------------
       
    86 // CTestLmUiSelector::Delete
       
    87 // Delete here all resources allocated and opened from test methods.
       
    88 // Called from destructor.
       
    89 // -----------------------------------------------------------------------------
       
    90 //
       
    91 void CTestLmUiSelector::Delete()
       
    92     {
       
    93 
       
    94     }
       
    95 
       
    96 // -----------------------------------------------------------------------------
       
    97 // CTestLmUiSelector::RunMethodL
       
    98 // Run specified method. Contains also table of test mothods and their names.
       
    99 // -----------------------------------------------------------------------------
       
   100 //
       
   101 TInt CTestLmUiSelector::RunMethodL(
       
   102     CStifItemParser& aItem )
       
   103     {
       
   104 
       
   105     static TStifFunctionInfo const KFunctions[] =
       
   106     {
       
   107             // Copy this line for every implemented function.
       
   108             // First string is the function name used in TestScripter script file.
       
   109             // Second is the actual implementation member function.
       
   110             ENTRY( "GetItemId", CTestLmUiSelector::GetItemIdL ),
       
   111             ENTRY( "GetLmDb", CTestLmUiSelector::GetLmDbL ),
       
   112             ENTRY( "SetGetItemId", CTestLmUiSelector::SetGetItemIdL ),
       
   113             ENTRY( "SetGetLmDb", CTestLmUiSelector::SetGetLmDbL ),
       
   114             ENTRY( "TestLmkNewL", CTestLmUiSelector::TestLmkNewL ),
       
   115             ENTRY( "TestLmkSetMopParent", CTestLmUiSelector::TestLmkSetMopParent ),
       
   116             ENTRY( "TestLmkExecuteLD", CTestLmUiSelector::TestLmkExecuteLD ),
       
   117             ENTRY( "TestLmkExecuteLD2", CTestLmUiSelector::TestLmkExecuteLD2 ),
       
   118             ENTRY( "TestCatNewL", CTestLmUiSelector::TestCatNewL ),
       
   119             ENTRY( "TestCatSetMopParent", CTestLmUiSelector::TestCatSetMopParent ),
       
   120             ENTRY( "TestCatExecuteLD", CTestLmUiSelector::TestCatExecuteLD ),
       
   121             ENTRY( "TestCatExecuteLD2", CTestLmUiSelector::TestCatExecuteLD2 ),
       
   122             ENTRY( "TestSetDialogTitle", CTestLmUiSelector::TestSetDialogTitle ),
       
   123             ENTRY( "TestSetDialogTitle1", CTestLmUiSelector::TestSetDialogTitle1 ),
       
   124             ENTRY("TestLmkNewLWithUserDatabase",CTestLmUiSelector::TestLmkNewLWithUserDatabase)
       
   125             
       
   126     };
       
   127 
       
   128     const TInt count = sizeof( KFunctions ) /
       
   129                         sizeof( TStifFunctionInfo );
       
   130 
       
   131     return RunInternalL( KFunctions, count, aItem );
       
   132 
       
   133     }
       
   134 
       
   135 //------------------------------------------------------------------------------
       
   136 //------------------Test Code for TLmkItemIdDbCombiInfo.h-----------------------
       
   137 //------------------------------------------------------------------------------
       
   138 
       
   139 // -----------------------------------------------------------------------------
       
   140 // CTestLmUiSelector::GetItemIdL
       
   141 // Get item id.
       
   142 // -----------------------------------------------------------------------------
       
   143 //
       
   144 TInt CTestLmUiSelector::GetItemIdL( CStifItemParser& /* aItem */ )
       
   145 	{
       
   146 	TLmkItemIdDbCombiInf info;
       
   147 	info.GetItemIdL();
       
   148 
       
   149 	return KErrNone;
       
   150 	}
       
   151 
       
   152 // -----------------------------------------------------------------------------
       
   153 // CTestLmUiSelector::GetLmDbL
       
   154 // Get Lm db handle.
       
   155 // -----------------------------------------------------------------------------
       
   156 //
       
   157 TInt CTestLmUiSelector::GetLmDbL( CStifItemParser& /* aItem */ )
       
   158 	{
       
   159 	TLmkItemIdDbCombiInf info;
       
   160 	info.GetLmDbL();
       
   161 
       
   162 	return KErrNone;
       
   163 	}
       
   164 
       
   165 // -----------------------------------------------------------------------------
       
   166 // CTestLmUiSelector::SetGetItemIdL
       
   167 // Set & get item id.
       
   168 // -----------------------------------------------------------------------------
       
   169 //
       
   170 TInt CTestLmUiSelector::SetGetItemIdL( CStifItemParser& /* aItem */ )
       
   171 	{
       
   172 	TLmkItemIdDbCombiInf info;
       
   173 	info.SetGetItemIdL();
       
   174 
       
   175 	return KErrNone;
       
   176 	}
       
   177 
       
   178 // -----------------------------------------------------------------------------
       
   179 // CTestLmUiSelector::SetGetLmDbL
       
   180 // Set & get Lm db handle.
       
   181 // -----------------------------------------------------------------------------
       
   182 //
       
   183 TInt CTestLmUiSelector::SetGetLmDbL( CStifItemParser& /* aItem */ )
       
   184 	{
       
   185 	TLmkItemIdDbCombiInf info;
       
   186 	info.SetGetLmDbL();
       
   187 
       
   188 	return KErrNone;
       
   189 	}
       
   190 
       
   191 //------------------------------------------------------------------------------
       
   192 //------------------End of Test Code for TLmkItemIdDbCombiInfo.h----------------
       
   193 //------------------------------------------------------------------------------
       
   194 
       
   195 
       
   196 //------------------------------------------------------------------------------
       
   197 //------------------Test Code for CLmkLandmarkSelectorDlg.h---------------------
       
   198 //------------------------------------------------------------------------------
       
   199 
       
   200 // -----------------------------------------------------------------------------
       
   201 // CTestLmUiSelector::TestLmkNewL
       
   202 // To test the creation of instance for CLmkLandmarkSelectorDlg.
       
   203 // -----------------------------------------------------------------------------
       
   204 //
       
   205 
       
   206 TInt CTestLmUiSelector::TestLmkNewL( CStifItemParser& aItem )
       
   207 {
       
   208 	TInt result = KErrNone;
       
   209 	CLmkLandmarkSelectorDlg* iLmkSelectDlg = NULL;
       
   210 	TRAPD(error, iLmkSelectDlg = CLmkLandmarkSelectorDlg::NewL());
       
   211 	if(error!= KErrNone ||!iLmkSelectDlg)
       
   212 		{
       
   213 		iLog->Log(_L("FAILED:Creating instance for CLmkLandmarkSelectorDlg failed, result %d"), error);
       
   214 		result = KErrGeneral;
       
   215 		}
       
   216 	else
       
   217 		{
       
   218 		delete iLmkSelectDlg;
       
   219 		iLmkSelectDlg = NULL;
       
   220 		iLog->Log(_L("PASSED: Creating instance for CLmkLandmarkSelectorDlg passed"));
       
   221 		}
       
   222 	return result;
       
   223 }
       
   224 
       
   225 // -----------------------------------------------------------------------------
       
   226 // CTestLmUiSelector::TestLmkSetMopParent
       
   227 // To test setting the context for this control
       
   228 // -----------------------------------------------------------------------------
       
   229 //
       
   230 TInt CTestLmUiSelector::TestLmkSetMopParent( CStifItemParser& aItem )
       
   231 {
       
   232 	TInt result = KErrNone;
       
   233 	CLmkLandmarkSelectorDlg* iLmkSelectDlg = NULL;
       
   234 	TRAPD(error, iLmkSelectDlg = CLmkLandmarkSelectorDlg::NewL());
       
   235 	if(error!= KErrNone ||!iLmkSelectDlg)
       
   236 		{
       
   237 		iLog->Log(_L("FAILED:Creating instance for CLmkLandmarkSelectorDlg failed, result %d"), error);
       
   238 		result = KErrGeneral;
       
   239 		}
       
   240 	else
       
   241 		{
       
   242 		iLmkSelectDlg->SetMopParent(engine);
       
   243 		delete iLmkSelectDlg;
       
   244 		iLmkSelectDlg = NULL;
       
   245 		iLog->Log(_L("PASSED: Testing Setting context passed"));
       
   246 		}
       
   247 	return result;
       
   248 }
       
   249 
       
   250 // -----------------------------------------------------------------------------
       
   251 // CTestLmUiSelector::TestLmkExecuteLD2
       
   252 // Test test the launch single category selector dialog.
       
   253 // -----------------------------------------------------------------------------
       
   254 //
       
   255 TInt CTestLmUiSelector::TestLmkExecuteLD( CStifItemParser& aItem )
       
   256 {
       
   257 	
       
   258 	CreateNewLandmark();	
       
   259 	TLmkItemIdDbCombiInfo selItem;
       
   260 	TInt result = KErrNone;
       
   261 	CLmkLandmarkSelectorDlg* iLmkSelectDlg = NULL;
       
   262 	TRAPD(error, iLmkSelectDlg = CLmkLandmarkSelectorDlg::NewL());
       
   263 	if(error!= KErrNone ||!iLmkSelectDlg)
       
   264 		{
       
   265 		iLog->Log(_L("FAILED:Creating instance for CLmkLandmarkSelectorDlg failed, result %d"), error);
       
   266 		result = KErrGeneral;
       
   267 		}
       
   268 	else
       
   269 		{
       
   270 		TRAP(error, result = iLmkSelectDlg->ExecuteLD(selItem));
       
   271 		if(error != KErrNone)
       
   272 			{
       
   273 			iLog->Log(_L("FAILED: ExecuteLD fails. Result = %d"), result);
       
   274 			result = KErrGeneral;
       
   275 			}
       
   276 		else
       
   277 		    {
       
   278 			iLog->Log(_L("PASSED:launching single landmark dialog passes"));
       
   279 			result = KErrNone;
       
   280 		    }
       
   281 //		delete iLmkSelectDlg;
       
   282 //		iLmkSelectDlg = NULL;
       
   283 		}
       
   284 	return result;
       
   285 }
       
   286 
       
   287 // -----------------------------------------------------------------------------
       
   288 // CTestLmUiSelector::TestLmkExecuteLD2
       
   289 // To test the launch multiple landmark selector dialog
       
   290 // -----------------------------------------------------------------------------
       
   291 //
       
   292 TInt CTestLmUiSelector::TestLmkExecuteLD2( CStifItemParser& aItem )
       
   293 {
       
   294 	RArray<TLmkItemIdDbCombiInfo> selItems;
       
   295 	CreateNewLandmark();
       
   296 	TInt result = KErrNone;
       
   297 	CLmkLandmarkSelectorDlg* iLmkSelectDlg = NULL;
       
   298 	TRAPD(error, iLmkSelectDlg = CLmkLandmarkSelectorDlg::NewL());
       
   299 	if(error!= KErrNone ||!iLmkSelectDlg)
       
   300 		{
       
   301 		iLog->Log(_L("FAILED:Creating instance for CLmkLandmarkSelectorDlg failed, result %d"), error);
       
   302 		result = KErrGeneral;
       
   303 		}     
       
   304 	else
       
   305 		{
       
   306 		TRAP( error, result = iLmkSelectDlg->ExecuteLD(selItems));
       
   307 		if(error != KErrNone)
       
   308 			{
       
   309 			iLog->Log(_L("FAILED: ExecuteLD fails. Error = %d"),error);
       
   310 			result = KErrGeneral;
       
   311 			}
       
   312 		else
       
   313 		    {
       
   314 			iLog->Log(_L("PASSED:launching multiple landmark dialog passes"));
       
   315 			result = KErrNone;
       
   316 		    }
       
   317 //
       
   318 //		delete iLmkSelectDlg;
       
   319 //		iLmkSelectDlg = NULL;
       
   320 		}
       
   321 	selItems.Close();
       
   322 	return result;
       
   323 }
       
   324 // -----------------------------------------------------------------------------
       
   325 // CTestLmUiSelector::NewL
       
   326 // To test the SetDialog Title of landmark selector dialog
       
   327 // -----------------------------------------------------------------------------
       
   328 //
       
   329 TInt CTestLmUiSelector::TestLmkNewLWithUserDatabase( CStifItemParser& aItem )
       
   330     {
       
   331     CreateOwnLandMarks();    
       
   332     TLmkItemIdDbCombiInfo selItem;
       
   333     TInt result = KErrNone;
       
   334     CLmkLandmarkSelectorDlg* iLmkSelectDlg = NULL;
       
   335     TRAPD(error, iLmkSelectDlg = CLmkLandmarkSelectorDlg::NewL(KUserDatabaseUri));
       
   336     if(result!= KErrNone ||!iLmkSelectDlg)
       
   337         {
       
   338         iLog->Log(_L("FAILED:Creating instance for CLmkLandmarkSelectorDlg failed, result %d"), error);
       
   339         result = KErrGeneral;
       
   340         }
       
   341     else
       
   342         {
       
   343         TRAPD(error1, result = iLmkSelectDlg->ExecuteLD(selItem));
       
   344         if(error1 != KErrNone || result != KErrNone)
       
   345             {
       
   346             iLog->Log(_L("FAILED: ExecuteLD fails. Error = %d, Result = %d"), error1, result);
       
   347             result = KErrGeneral;
       
   348             }
       
   349         else
       
   350             iLog->Log(_L("PASSED:launching single landmark dialog passes"));
       
   351         }
       
   352     return KErrNone;
       
   353     }
       
   354 
       
   355 
       
   356 
       
   357 // -----------------------------------------------------------------------------
       
   358 // CTestLmUiSelector::TestSetDialogTitle
       
   359 // To test the SetDialog Title of landmark selector dialog
       
   360 // -----------------------------------------------------------------------------
       
   361 //
       
   362 TInt CTestLmUiSelector::TestSetDialogTitle( CStifItemParser& aItem )
       
   363     {
       
   364     TInt result = KErrNone;
       
   365     CreateNewLandmark(); 
       
   366     TLmkItemIdDbCombiInfo selItem;
       
   367     CLmkLandmarkSelectorDlg* iLmkSelectDlg = NULL;
       
   368     TRAPD(error, iLmkSelectDlg = CLmkLandmarkSelectorDlg::NewL());
       
   369     if(result!= KErrNone ||!iLmkSelectDlg)
       
   370         {
       
   371         iLog->Log(_L("FAILED:Creating instance for CLmkLandmarkSelectorDlg failed, result %d"), error);
       
   372         result = KErrGeneral;
       
   373         }
       
   374     else
       
   375         {
       
   376         _LIT(Kdes,"Test Title");
       
   377         TBuf<20> buf;
       
   378         buf=Kdes;
       
   379         TRAPD(error1,iLmkSelectDlg->SetDialogTitleL(buf));
       
   380         if(error1 != KErrNone || result != KErrNone)
       
   381             {
       
   382             iLog->Log(_L("FAILED: SetDialogTitleL fails. Error = %d, Result = %d"), error1, result);
       
   383             result = KErrGeneral;
       
   384             }
       
   385         else
       
   386             {
       
   387             iLog->Log(_L("PASSED: SetDialogTitleL for CLmkLandmarkSelectorDlg passed"));
       
   388             TRAPD(error2,iLmkSelectDlg->ExecuteLD(selItem));
       
   389             if(error2!=KErrNone ||  result!=KErrNone)
       
   390                 {
       
   391                 iLog->Log(_L("FAILED: ExecuteLD fails. Error = %d, Result = %d"), error2, result);
       
   392                 result = KErrGeneral;
       
   393                 }
       
   394             else
       
   395                 iLog->Log(_L("PASSED: Test of Set Dialog Title Passed"));
       
   396             }
       
   397         }
       
   398     return result;
       
   399     }
       
   400 
       
   401 
       
   402 
       
   403 // -----------------------------------------------------------------------------
       
   404 // CTestLmUiSelector::TestSetDialogTitle1
       
   405 // To test the SetDialog Title of landmark selector dialog(Null Value : Landmarks)
       
   406 // -----------------------------------------------------------------------------
       
   407 //
       
   408 TInt CTestLmUiSelector::TestSetDialogTitle1( CStifItemParser& aItem )
       
   409     {
       
   410     TInt result = KErrNone;
       
   411     CreateNewLandmark(); 
       
   412     TBuf<50> buf;
       
   413     buf=KNullDesC;
       
   414     TLmkItemIdDbCombiInfo selItem;
       
   415     CLmkLandmarkSelectorDlg* iLmkSelectDlg = NULL;
       
   416     TRAPD(error, iLmkSelectDlg = CLmkLandmarkSelectorDlg::NewL());
       
   417     if(result!= KErrNone ||!iLmkSelectDlg)
       
   418         {
       
   419         iLog->Log(_L("FAILED:Creating instance for CLmkLandmarkSelectorDlg failed, result %d"), error);
       
   420         result = KErrGeneral;
       
   421         }
       
   422     else
       
   423         {
       
   424         TRAPD(error1,iLmkSelectDlg->SetDialogTitleL(buf));
       
   425         if(error1 != KErrNone || result != KErrNone)
       
   426             {
       
   427             iLog->Log(_L("FAILED: SetDialogTitleL fails. Error = %d, Result = %d"), error1, result);
       
   428             result = KErrGeneral;
       
   429             }
       
   430         else
       
   431             {
       
   432             iLog->Log(_L("PASSED: SetDialogTitleL for CLmkLandmarkSelectorDlg passed"));
       
   433             TRAPD(error2,iLmkSelectDlg->ExecuteLD(selItem));
       
   434             if(error2!=KErrNone ||  result!=KErrNone)
       
   435                 {
       
   436                 iLog->Log(_L("FAILED: ExecuteLD fails. Error = %d, Result = %d"), error2, result);
       
   437                 result = KErrGeneral;
       
   438                 }
       
   439             else
       
   440                 iLog->Log(_L("PASSED: Test of Set Dialog Title with NULL value Passed"));
       
   441             }
       
   442         }
       
   443     return result;
       
   444     }
       
   445 
       
   446 
       
   447 //------------------------------------------------------------------------------
       
   448 //------------------End of Test Code for CLmkLandmarkSelectorDlg.h--------------
       
   449 //------------------------------------------------------------------------------
       
   450 
       
   451 //------------------------------------------------------------------------------
       
   452 //------------------Test Code for CLmkCategorySelectorDlg.h---------------------
       
   453 //------------------------------------------------------------------------------
       
   454 
       
   455 // -----------------------------------------------------------------------------
       
   456 // CTestLmUiSelector::TestCatNewL
       
   457 // To test the creation of instance for CLmkCategorySelectorDlg.
       
   458 // -----------------------------------------------------------------------------
       
   459 //
       
   460 TInt CTestLmUiSelector::TestCatNewL( CStifItemParser& aItem )
       
   461 {
       
   462 	TInt result = KErrNone;
       
   463 	CLmkCategorySelectorDlg* iLmkCategoryDlg = NULL;
       
   464 	TRAPD(error, iLmkCategoryDlg = CLmkCategorySelectorDlg::NewL());
       
   465 	if(error!= KErrNone || !iLmkCategoryDlg)
       
   466 		{
       
   467 		iLog->Log(_L("FAILED:Creating instance for CLmkCategorySelectorDlg failed, result %d"), error);
       
   468 		result = KErrGeneral;
       
   469 		}
       
   470 	
       
   471 	if(iLmkCategoryDlg)
       
   472 		{
       
   473 		delete iLmkCategoryDlg;
       
   474 		iLmkCategoryDlg = NULL;
       
   475 		iLog->Log(_L("PASSED:Creating instance for CLmkCategorySelectorDlg passes"));
       
   476 		}	
       
   477 	return result;
       
   478 }
       
   479 
       
   480 // -----------------------------------------------------------------------------
       
   481 // CTestLmUiSelector::TestCatSetMopParent
       
   482 // To test setting the context for this control
       
   483 // -----------------------------------------------------------------------------
       
   484 //
       
   485 TInt CTestLmUiSelector::TestCatSetMopParent( CStifItemParser& aItem )
       
   486 {
       
   487 	TInt result = KErrNone;
       
   488 	CLmkCategorySelectorDlg* iLmkCategoryDlg = NULL;
       
   489 	TRAPD(error, iLmkCategoryDlg = CLmkCategorySelectorDlg::NewL());
       
   490 	if(error!= KErrNone || !iLmkCategoryDlg)
       
   491 	{
       
   492 	iLog->Log(_L("FAILED:Creating instance for CLmkCategorySelectorDlg failed, result %d"), error);
       
   493 	result = KErrGeneral;
       
   494 	}	
       
   495 	else
       
   496 		iLmkCategoryDlg->SetMopParent(engine);
       
   497 	if(iLmkCategoryDlg)
       
   498 		{
       
   499 		delete iLmkCategoryDlg;
       
   500 		iLmkCategoryDlg = NULL;
       
   501 		iLog->Log(_L("PASSED:setting context passes"));
       
   502 		}
       
   503 	return result;
       
   504 }
       
   505 
       
   506 // -----------------------------------------------------------------------------
       
   507 // CTestLmUiSelector::TestCatExecuteLD
       
   508 // Test test the launch single category selector dialog.
       
   509 // -----------------------------------------------------------------------------
       
   510 //
       
   511 TInt CTestLmUiSelector::TestCatExecuteLD( CStifItemParser& aItem )
       
   512 {
       
   513 	TLmkItemIdDbCombiInfo selItem;
       
   514 	TInt result = KErrNone;
       
   515 	CLmkCategorySelectorDlg* iLmkCategoryDlg = NULL;
       
   516 	TRAPD(error, iLmkCategoryDlg = CLmkCategorySelectorDlg::NewL());
       
   517 	if(error!= KErrNone || !iLmkCategoryDlg)
       
   518 		{
       
   519 		iLog->Log(_L("FAILED:Creating instance for CLmkCategorySelectorDlg failed, result %d"), error);
       
   520 		result = KErrGeneral;
       
   521 		} 	
       
   522 	else
       
   523 		{
       
   524 		TRAP( error, result = iLmkCategoryDlg->ExecuteLD(selItem));
       
   525 		if(error != KErrNone)
       
   526 			{
       
   527 			iLog->Log(_L("FAILED: Testing ExeculteLD fails. Error = %d"), error);
       
   528 			result = KErrGeneral;
       
   529 			}
       
   530 		else
       
   531 		    {
       
   532 			iLog->Log(_L("PASSED:launching single category dialog passes"));
       
   533 			result = KErrNone;
       
   534 		    }
       
   535 		}
       
   536 	return result;
       
   537 }
       
   538 
       
   539 // -----------------------------------------------------------------------------
       
   540 // CTestLmUiSelector::TestCatExecuteLD2
       
   541 // To test the launch multiple category selector dialog
       
   542 // -----------------------------------------------------------------------------
       
   543 //
       
   544 TInt CTestLmUiSelector::TestCatExecuteLD2( CStifItemParser& aItem )
       
   545 {
       
   546 	RArray<TLmkItemIdDbCombiInfo> selItems;
       
   547 	TInt result = KErrNone;
       
   548 	CLmkCategorySelectorDlg* iLmkCategoryDlg = NULL;
       
   549 	TRAPD(error, iLmkCategoryDlg = CLmkCategorySelectorDlg::NewL());
       
   550 	if(error!= KErrNone || !iLmkCategoryDlg)
       
   551 		{
       
   552 		iLog->Log(_L("FAILED:Creating instance for CLmkCategorySelectorDlg failed, result %d"), error);
       
   553 		result = KErrGeneral;
       
   554 		} 	
       
   555 	else
       
   556 		{
       
   557 		TRAP( error, result = iLmkCategoryDlg->ExecuteLD(selItems));
       
   558 		if(error != KErrNone)
       
   559 			{
       
   560 			iLog->Log(_L("FAILED: Testing ExeculteLD fails. Error = %d"), error);
       
   561 			error = KErrGeneral;
       
   562 			}
       
   563 		else
       
   564 		    {
       
   565 			iLog->Log(_L("PASSED:launching multiple category dialog passes"));
       
   566 			result = KErrNone;
       
   567 		    }
       
   568 		}
       
   569 	selItems.Close();
       
   570 	return result;
       
   571 }
       
   572 //------------------------------------------------------------------------------
       
   573 //------------------End of Test Code for CLmkCategorySelectorDlg.h--------------
       
   574 //------------------------------------------------------------------------------
       
   575 
       
   576 // -----------------------------------------------------------------------------
       
   577 // CTestLmUiSelector::CreateNewLandmark
       
   578 // Creates Landmarks
       
   579 // -----------------------------------------------------------------------------
       
   580 //
       
   581 void CTestLmUiSelector::CreateNewLandmark()
       
   582    {
       
   583 
       
   584  TRAP_IGNORE(
       
   585 	CPosLandmarkDatabase* dBase = CPosLandmarkDatabase::OpenL();
       
   586 	CleanupStack::PushL( dBase );
       
   587 	if (dBase->IsInitializingNeeded())
       
   588 		{
       
   589 	ExecuteAndDeleteLD(dBase->InitializeL()); // Synchronous since no argument
       
   590 		}
       
   591 
       
   592 	CPosLmItemIterator*  iterator = dBase->LandmarkIteratorL();
       
   593    CleanupStack::PushL(iterator);
       
   594 
       
   595 
       
   596    if( iterator->NumOfItemsL() == 0 )
       
   597 	    {
       
   598 	    CPosLandmark* landmark = CPosLandmark::NewL();
       
   599 		CleanupStack::PushL( landmark );
       
   600 
       
   601 		landmark->SetLandmarkNameL(_L("Nokia"));
       
   602 
       
   603 		dBase->AddLandmarkL(*landmark);
       
   604 		CleanupStack::PopAndDestroy();//landmark
       
   605 	    }
       
   606 
       
   607 	CleanupStack::PopAndDestroy(2);	//iterator,dBase
       
   608 	)
       
   609 	}
       
   610 // -----------------------------------------------------------------------------
       
   611 // CTestLmUiSelector::CreateNewLandmark
       
   612 // Creates Landmarks
       
   613 // -----------------------------------------------------------------------------
       
   614 //
       
   615 void CTestLmUiSelector::CreateOwnLandMarks()
       
   616     {
       
   617     TRAP_IGNORE(
       
   618     CPosLmDatabaseManager* dbManager = CPosLmDatabaseManager::NewL();
       
   619     CleanupStack::PushL( dbManager); 
       
   620     if ( !dbManager->DatabaseExistsL( KUserDatabaseUri ) )
       
   621         {
       
   622         HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC( KUserDatabaseUri );
       
   623         dbManager->CreateDatabaseL( *dbInfo );
       
   624         CleanupStack::PopAndDestroy( dbInfo );
       
   625         }
       
   626     CleanupStack::Pop(dbManager);
       
   627     CPosLandmarkDatabase *iUserLandmarksDb;
       
   628     //Open and initialize the custom landmark database
       
   629     TRAPD( err, ( iUserLandmarksDb = CPosLandmarkDatabase::OpenL( KUserDatabaseUri ) ) );
       
   630     if( iUserLandmarksDb->IsInitializingNeeded() )
       
   631         {
       
   632         ExecuteAndDeleteLD( iUserLandmarksDb->InitializeL() ); 
       
   633         }
       
   634     ExecuteAndDeleteLD( iUserLandmarksDb->RemoveAllLandmarksL() ); 
       
   635     CPosLandmark* landmark = CPosLandmark::NewL();
       
   636     CleanupStack::PushL( landmark );
       
   637     TRAP_IGNORE(landmark->SetLandmarkNameL( _L("Testlandmark")));
       
   638     TPosLmItemId landmarkId = iUserLandmarksDb->AddLandmarkL( *landmark );
       
   639     CleanupStack::PopAndDestroy( landmark );
       
   640     )
       
   641    
       
   642     }
       
   643 
       
   644 
       
   645 //  End of File