applayerpluginsandutils/bookmarksupport/test/tbmtests.cpp
changeset 0 b16258d2340f
equal deleted inserted replaced
-1:000000000000 0:b16258d2340f
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #include "tbmtests.h"
       
    17 #include <cauthentication.h>
       
    18 #include "testutils.h"
       
    19 
       
    20 _LIT ( KTxtFolder1, "Folder 1" );
       
    21 _LIT ( KTxtFolder1_1, "Folder 1.1" );
       
    22 _LIT ( KTxtFolder1_2, "Folder 1.2" );
       
    23 _LIT ( KTxtFolder1_2_1, "Folder 1.2.1" );
       
    24 _LIT ( KTxtFolder1_2_2, "Folder 1.2.2" );
       
    25 _LIT ( KTxtFolder1_3, "Folder 1.3" );
       
    26 
       
    27 _LIT ( KTxtFolder2, "Folder 2" );
       
    28 _LIT ( KTxtFolder2_1, "Folder 2.1" );
       
    29 _LIT ( KTxtFolder2_2, "Folder 2.2" );
       
    30 _LIT ( KTxtFolder2_2_1, "Folder 2.2.1" );
       
    31 _LIT ( KTxtFolder2_2_2, "Folder 2.2.2" );
       
    32 _LIT ( KTxtFolder2_2_3, "Folder 2.2.3" );
       
    33 _LIT ( KTxtFolder2_2_4, "Folder 2.2.4" );
       
    34 
       
    35 _LIT ( KTxtFolder3, "Folder 3" );
       
    36 _LIT ( KTxtFolder3_1, "Folder 3.1" );
       
    37 _LIT ( KTxtFolder3_1_1, "Folder 3.1.1" );
       
    38 _LIT ( KTxtFolder3_1_2, "Folder 3.1.2" );
       
    39 _LIT ( KTxtFolder3_1_3, "Folder 3.1.3" );
       
    40 _LIT ( KTxtFolder3_1_4, "Folder 3.1.4" );
       
    41 _LIT ( KTxtFolder3_2, "Folder 3.2" );
       
    42 
       
    43 _LIT8 ( KAuthUri, "sip:user:pass@location.com:1666;transport=tcp;x=123;df=223?asd=b" );
       
    44 _LIT8 ( KAuthName2, "joe" );
       
    45 _LIT8 ( KAuthPassword2, "pswd1234" );
       
    46 
       
    47 
       
    48 _LIT8 (KIconData,		"****4644372131**7*&879");
       
    49 _LIT8 (KIconData2,		"****abcdefghij**7*&xyz");
       
    50 
       
    51 const TUid KUid1 = {0x111};
       
    52 const TUid KUid2 = {0x222};
       
    53 const TUid KUid3 = {0x333};
       
    54 const TUid KUid4 = {0x444};
       
    55 const TUid KUid5 = {0x555};
       
    56 const TUid KUid6 = {0x666};
       
    57 const TUid KUid7 = {0x777};
       
    58 const TUid KUid8 = {0x888};
       
    59 const TUid KUid9 = {0x999};
       
    60 const TUid KUid10 = {0xAAA};
       
    61 const TUid KUid11 = {0xBBB};
       
    62 const TUid KUid12 = {0xCCC};
       
    63 const TUid KUid13 = {0x1111};
       
    64 const TUid KUid14 = {0x2222};
       
    65 const TUid KUid15 = {0x3333};
       
    66 const TUid KUid16 = {0x4444};
       
    67 const TUid KUid17 = {0x5555};
       
    68 const TUid KUid18 = {0x6666};
       
    69 const TUid KUid19 = {0x7777};
       
    70 const TUid KUid20 = {0x8888};
       
    71 const TUid KUid21 = {0x9999};
       
    72 const TUid KUid22 = {0xAAAA};
       
    73 const TUid KUid23 = {0xBBBB};
       
    74 const TUid KUid24 = {0xCCCC};
       
    75 
       
    76 const TInt KMaxTestLength = 50;
       
    77 
       
    78 TInt intValue1 = 1200;
       
    79 TReal realValue1 = 67.456;
       
    80 TInt intValue2 = 2000;
       
    81 TReal realValue2 = 255.123;
       
    82 TInt intValue3 = 3500;
       
    83 TReal realValue3 = 289.567;
       
    84 
       
    85 TInt intValue4 = 1200;
       
    86 TReal realValue4 = 67.456;
       
    87 TInt intValue5 = 2000;
       
    88 TReal realValue5 = 255.123;
       
    89 TInt intValue6 = 3500;
       
    90 TReal realValue6 = 289.567;
       
    91 
       
    92 _LIT8 ( KDbValue8, "Database 8-bit value1" );
       
    93 _LIT ( KDbValue, "Database 16-bit value1" );
       
    94 _LIT8 ( KFldrValue8, "Folder 8-bit value1" );
       
    95 _LIT ( KFldrValue, "Folder 16-bit value1" );
       
    96 _LIT8 ( KBkmrkValue8, "Bookmark 8-bit value1" );
       
    97 _LIT ( KBkmrkValue, "Bookmark 16-bit value1" );
       
    98 
       
    99 _LIT8 ( KDb2Value8, "Database 8-bit value2" );
       
   100 _LIT ( KDb2Value, "Database 16-bit value2" );
       
   101 _LIT8 ( KFldr2Value8, "Folder 8-bit value2" );
       
   102 _LIT ( KFldr2Value, "Folder 16-bit value2" );
       
   103 _LIT8 ( KBkmrk2Value8, "Bookmark 8-bit value2" );
       
   104 _LIT ( KBkmrk2Value, "Bookmark 16-bit value2" );
       
   105 
       
   106 
       
   107 CBmTests* CBmTests::NewL ( CTestWrapper& aTestWrapper )
       
   108 	{
       
   109 	CBmTests* self = new ( ELeave )CBmTests ( aTestWrapper );
       
   110 	return self;
       
   111 	}
       
   112 
       
   113 CBmTests::CBmTests ( CTestWrapper& aTestWrapper )
       
   114 : iTestWrapper ( aTestWrapper )
       
   115 	{
       
   116 	
       
   117 	}
       
   118 	
       
   119 CBmTests::~CBmTests ()
       
   120 	{
       
   121 	CloseDb ();
       
   122 	}
       
   123 
       
   124 void CBmTests::OpenDbL ()
       
   125 	{
       
   126 	iBkDatabase.OpenL ();
       
   127 	}
       
   128 	
       
   129 void CBmTests::CloseDb ()
       
   130 	{
       
   131 	iBkDatabase.Close ();
       
   132 	}
       
   133 
       
   134 RBkFolder CBmTests::CreateFolderLC ( const TDesC& aFolderName, RBkFolder* aParent )
       
   135 	{
       
   136 	RBkFolder folder;
       
   137 	TRAPD ( err, folder = iBkDatabase.CreateFolderL ( aFolderName, aParent ) );
       
   138 	User::LeaveIfError ( err );
       
   139 	CleanupClosePushL ( folder );
       
   140 	return folder;
       
   141 	}
       
   142 
       
   143 RBkFolder CBmTests::OpenFolderLC ( const TDesC& aFolderName )
       
   144 	{
       
   145 	RBkFolder folder = iBkDatabase.OpenFolderL ( aFolderName );
       
   146 	CleanupClosePushL ( folder );
       
   147 	return folder;
       
   148 	}
       
   149 
       
   150 void CBmTests::CommitDbL ()
       
   151 	{
       
   152 	iBkDatabase.CommitL ();
       
   153 	}
       
   154 
       
   155 void CBmTests::SetBkmrkDbPropertiesL ()
       
   156 	{
       
   157 	RBkBookmark home = iBkDatabase.CreateBookmarkL ();
       
   158 	CleanupClosePushL ( home );
       
   159 	
       
   160 	home.SetTitleL ( _L ( "Home bookmark" ) );
       
   161 	
       
   162 	iBkDatabase.SetHome ( home );	
       
   163 	iBkDatabase.SetHomePageTextL ( _L ( "My home page text" ) );
       
   164 	iBkDatabase.SetSearchUriL ( _L8 ( "www.searchuri.com" ) );
       
   165 	
       
   166 	CleanupStack::PopAndDestroy ( &home ); // home
       
   167 	}
       
   168 
       
   169 void CBmTests::UpdateBkmrkDbPropertiesL ()
       
   170 	{
       
   171 	RBkBookmark home = iBkDatabase.CreateBookmarkL ();
       
   172 	CleanupClosePushL ( home );
       
   173 	
       
   174 	home.SetTitleL ( _L ( "New home bookmark" ) );
       
   175 	
       
   176 	iBkDatabase.SetHome ( home );	
       
   177 	iBkDatabase.SetHomePageTextL ( _L ( "My new home page text" ) );
       
   178 	iBkDatabase.SetSearchUriL ( _L8 ( "www.newsearchuri.com" ) );
       
   179 	
       
   180 	CleanupStack::PopAndDestroy ( &home ); // home	
       
   181 	}
       
   182 
       
   183 void CBmTests::CreateTreeL ()
       
   184 	{
       
   185 	// Create bookmarks under root
       
   186 	RBkBookmark bookmark1 = iBkDatabase.CreateBookmarkL ();
       
   187 	CleanupClosePushL ( bookmark1 );
       
   188 	RBkBookmark bookmark2 = iBkDatabase.CreateBookmarkL ();
       
   189 	CleanupClosePushL ( bookmark2 );
       
   190 	
       
   191 	bookmark1.SetTitleL ( _L("Google") );
       
   192 	bookmark2.SetTitleL ( _L("Hotmail") );
       
   193 	
       
   194 	bookmark1.SetUriL ( KAuthUri );
       
   195 	CAuthentication* auth = CAuthentication::NewL(KAuthName2, KAuthPassword2, CAuthentication::EBasic);
       
   196 	CleanupStack::PushL(auth);
       
   197 	bookmark2.SetAuthenticationL(*auth);
       
   198 	CleanupStack::PopAndDestroy ( auth );
       
   199 	
       
   200 	CleanupStack::PopAndDestroy ( 2 ); // bookmark1, bookmark2
       
   201 	
       
   202 	// Create folder1
       
   203 	RBkFolder folder1 = iBkDatabase.CreateFolderL ( KTxtFolder1() );
       
   204 	CleanupClosePushL ( folder1 );
       
   205 	// Create sub-folders under folder1
       
   206 	RBkFolder folder1_1 = iBkDatabase.CreateFolderL ( KTxtFolder1_1(), &folder1 );
       
   207 	CleanupClosePushL ( folder1_1 );
       
   208 	RBkFolder folder1_2 = iBkDatabase.CreateFolderL ( KTxtFolder1_2(), &folder1 );
       
   209 	CleanupClosePushL ( folder1_2 );
       
   210 	RBkFolder folder1_3 = iBkDatabase.CreateFolderL ( KTxtFolder1_3(), &folder1 );
       
   211 	CleanupClosePushL ( folder1_3 );
       
   212 	RBkFolder folder1_2_1 = iBkDatabase.CreateFolderL ( KTxtFolder1_2_1(), &folder1_2 );
       
   213 	CleanupClosePushL ( folder1_2_1 );
       
   214 	RBkFolder folder1_2_2 = iBkDatabase.CreateFolderL ( KTxtFolder1_2_2(), &folder1_2 );
       
   215 	CleanupClosePushL ( folder1_2_2 );
       
   216 	
       
   217 	// Create bookmarks under folder1
       
   218 	bookmark1 = iBkDatabase.CreateBookmarkL ( &folder1 );
       
   219 	CleanupClosePushL ( bookmark1 );
       
   220 	bookmark2 = iBkDatabase.CreateBookmarkL ( &folder1 );
       
   221 	CleanupClosePushL ( bookmark2 );
       
   222 	bookmark1.SetTitleL ( _L ( "ESPN Sports" ) );
       
   223 	bookmark2.SetTitleL ( _L ( "Star Sports" ) );
       
   224 	
       
   225 	Bookmark::TAttachmentId iconId = iBkDatabase.CreateIconL ( KIconData );
       
   226 	bookmark1.SetIconIdL ( iconId );
       
   227 		
       
   228 	CleanupStack::PopAndDestroy ( 2 ); // bookmark1, bookmark2
       
   229 	
       
   230 	CleanupStack::PopAndDestroy ( 6 ); 	// folder1, folder1_1, folder1_2, folder1_3,
       
   231 										// folder1_2_1, folder1_2_2
       
   232 											
       
   233 	RBkFolder folder2 = iBkDatabase.CreateFolderL ( KTxtFolder2() );
       
   234 	CleanupClosePushL ( folder2 );
       
   235 	RBkFolder folder2_1 = iBkDatabase.CreateFolderL ( KTxtFolder2_1(), &folder2 );
       
   236 	CleanupClosePushL ( folder2_1 );
       
   237 	RBkFolder folder2_2 = iBkDatabase.CreateFolderL ( KTxtFolder2_2(), &folder2 );	
       
   238 	CleanupClosePushL ( folder2_2 );		
       
   239 	RBkFolder folder2_2_1 = iBkDatabase.CreateFolderL ( KTxtFolder2_2_1(), &folder2_2 );
       
   240 	CleanupClosePushL ( folder2_2_1 );
       
   241 	RBkFolder folder2_2_2 = iBkDatabase.CreateFolderL ( KTxtFolder2_2_2(), &folder2_2 );
       
   242 	CleanupClosePushL ( folder2_2_2 );
       
   243 	
       
   244 	CleanupStack::PopAndDestroy ( 5 ); 	// folder2, folder2_1, folder2_2, 
       
   245 										// folder2_2_1, folder2_2_2	
       
   246 
       
   247 	RBkFolder folder3 = iBkDatabase.CreateFolderL ( KTxtFolder3() );
       
   248 	CleanupClosePushL ( folder3 );
       
   249 	Bookmark::TAttachmentId iconId2 = iBkDatabase.CreateIconL ( KIconData2 );
       
   250 	folder3.SetIconIdL ( iconId2 );
       
   251 	RBkFolder folder3_1 = iBkDatabase.CreateFolderL ( KTxtFolder3_1(), &folder3 );
       
   252 	CleanupClosePushL ( folder3_1 );
       
   253 	RBkFolder folder3_2 = iBkDatabase.CreateFolderL ( KTxtFolder3_2(), &folder3 );
       
   254 	CleanupClosePushL ( folder3_2 );	
       
   255 	RBkFolder folder3_1_1 = iBkDatabase.CreateFolderL ( KTxtFolder3_1_1(), &folder3_1 );
       
   256 	CleanupClosePushL ( folder3_1_1 );
       
   257 	RBkFolder folder3_1_4 = iBkDatabase.CreateFolderL ( KTxtFolder3_1_4(), &folder3_1 );
       
   258 	CleanupClosePushL ( folder3_1_4 );
       
   259 	
       
   260 	CleanupStack::PopAndDestroy ( 5 ); // folder3, folder3_1, folder3_2, folder3_1_1, folder3_1_4
       
   261 	}
       
   262 
       
   263 void CBmTests::ModifyTreeL ()
       
   264 	{
       
   265 	RBkFolder folder2_2 = iBkDatabase.OpenFolderL ( KTxtFolder2_2() );
       
   266 	CleanupClosePushL ( folder2_2 );
       
   267 	RBkFolder folder2_2_3 = iBkDatabase.CreateFolderL ( KTxtFolder2_2_3() );
       
   268 	CleanupClosePushL ( folder2_2_3 );
       
   269 	RBkFolder folder2_2_4 = iBkDatabase.CreateFolderL ( KTxtFolder2_2_4() );
       
   270 	CleanupClosePushL ( folder2_2_4 );
       
   271 	
       
   272 	folder2_2.AppendL ( folder2_2_3 );
       
   273 	folder2_2.AppendL ( folder2_2_4 );
       
   274 	
       
   275 	CleanupStack::PopAndDestroy ( 3 ); // folder2_2, folder2_2_3, folder2_2_4
       
   276 	
       
   277 	RBkFolder folder3_1 = iBkDatabase.OpenFolderL ( KTxtFolder3_1() );
       
   278 	CleanupClosePushL ( folder3_1 );
       
   279 	RBkFolder folder3_1_2 = iBkDatabase.CreateFolderL ( KTxtFolder3_1_2() );
       
   280 	CleanupClosePushL ( folder3_1_2 );
       
   281 	RBkFolder folder3_1_3 = iBkDatabase.CreateFolderL ( KTxtFolder3_1_3() );
       
   282 	CleanupClosePushL ( folder3_1_3 );
       
   283 	folder3_1.InsertL ( folder3_1_2, 1 );
       
   284 	folder3_1.InsertL ( folder3_1_3, 2 );
       
   285 	
       
   286 	CleanupStack::PopAndDestroy ( 3 ); // folder3_1, folder3_1_2, folder3_3
       
   287 
       
   288 	}
       
   289 
       
   290 void CBmTests::CreateCustomPropertiesL ()
       
   291 	{
       
   292 	iBkDatabase.RegisterDatabasePropertyL ( KUid1, Bookmark::EDataTypeInt );
       
   293 	iBkDatabase.RegisterDatabasePropertyL ( KUid2, Bookmark::EDataTypeReal );
       
   294 	iBkDatabase.RegisterDatabasePropertyL ( KUid3, Bookmark::EDataTypeDes8 );
       
   295 	iBkDatabase.RegisterDatabasePropertyL ( KUid4, Bookmark::EDataTypeDes16 );
       
   296 
       
   297 	iBkDatabase.RegisterBookmarkPropertyL ( KUid5, Bookmark::EDataTypeInt );
       
   298 	iBkDatabase.RegisterBookmarkPropertyL ( KUid6, Bookmark::EDataTypeReal );
       
   299 	iBkDatabase.RegisterBookmarkPropertyL ( KUid7, Bookmark::EDataTypeDes8 );
       
   300 	iBkDatabase.RegisterBookmarkPropertyL ( KUid8, Bookmark::EDataTypeDes16 );
       
   301 
       
   302 	iBkDatabase.RegisterFolderPropertyL ( KUid9, Bookmark::EDataTypeInt );
       
   303 	iBkDatabase.RegisterFolderPropertyL ( KUid10, Bookmark::EDataTypeReal );
       
   304 	iBkDatabase.RegisterFolderPropertyL ( KUid11, Bookmark::EDataTypeDes8 );
       
   305 	iBkDatabase.RegisterFolderPropertyL ( KUid12, Bookmark::EDataTypeDes16 );
       
   306 
       
   307 	iBkDatabase.RegisterDatabasePropertyL ( KUid13, Bookmark::EDataTypeInt );
       
   308 	iBkDatabase.RegisterDatabasePropertyL ( KUid14, Bookmark::EDataTypeReal );
       
   309 	iBkDatabase.RegisterDatabasePropertyL ( KUid15, Bookmark::EDataTypeDes8 );
       
   310 	iBkDatabase.RegisterDatabasePropertyL ( KUid16, Bookmark::EDataTypeDes16 );
       
   311 
       
   312 	iBkDatabase.RegisterBookmarkPropertyL ( KUid17, Bookmark::EDataTypeInt );
       
   313 	iBkDatabase.RegisterBookmarkPropertyL ( KUid18, Bookmark::EDataTypeReal );
       
   314 	iBkDatabase.RegisterBookmarkPropertyL ( KUid19, Bookmark::EDataTypeDes8 );
       
   315 	iBkDatabase.RegisterBookmarkPropertyL ( KUid20, Bookmark::EDataTypeDes16 );
       
   316 
       
   317 	iBkDatabase.RegisterFolderPropertyL ( KUid21, Bookmark::EDataTypeInt );
       
   318 	iBkDatabase.RegisterFolderPropertyL ( KUid22, Bookmark::EDataTypeReal );
       
   319 	iBkDatabase.RegisterFolderPropertyL ( KUid23, Bookmark::EDataTypeDes8 );
       
   320 	iBkDatabase.RegisterFolderPropertyL ( KUid24, Bookmark::EDataTypeDes16 );
       
   321 
       
   322 	}
       
   323 	
       
   324 void CBmTests::SetCustomPropertiesValueL ()
       
   325 	{	
       
   326 	iBkDatabase.SetCustomPropertyL ( KUid1, intValue1 );
       
   327 	iBkDatabase.SetCustomPropertyL ( KUid2, realValue1 );	
       
   328 	iBkDatabase.SetCustomPropertyL ( KUid3, KDbValue8 );
       
   329 	iBkDatabase.SetCustomPropertyL ( KUid4, KDbValue );	
       
   330 	
       
   331 	RBkBookmark bookmark1 = iBkDatabase.OpenBookmarkL ( 1 );
       
   332 	CleanupClosePushL ( bookmark1 );
       
   333 	bookmark1.SetCustomPropertyL ( KUid5, intValue2 );
       
   334 	bookmark1.SetCustomPropertyL ( KUid6, realValue2 );	
       
   335 	bookmark1.SetCustomPropertyL ( KUid7, KBkmrkValue8 );
       
   336 	bookmark1.SetCustomPropertyL ( KUid8, KBkmrkValue );	
       
   337 	CleanupStack::PopAndDestroy ( 1 ); // bookmark1
       
   338 
       
   339 	RBkFolder folder1 = iBkDatabase.OpenFolderL ( KTxtFolder1 );
       
   340 	CleanupClosePushL ( folder1 );
       
   341 	folder1.SetCustomPropertyL ( KUid9, intValue3 );
       
   342 	folder1.SetCustomPropertyL ( KUid10, realValue3 );	
       
   343 	folder1.SetCustomPropertyL ( KUid11, KFldrValue8 );
       
   344 	folder1.SetCustomPropertyL ( KUid12, KFldrValue );	
       
   345 	CleanupStack::PopAndDestroy ( &folder1 );
       
   346 
       
   347 	iBkDatabase.SetCustomPropertyL ( KUid13, intValue4 );
       
   348 	iBkDatabase.SetCustomPropertyL ( KUid14, realValue4 );	
       
   349 	iBkDatabase.SetCustomPropertyL ( KUid15, KDb2Value8 );
       
   350 	iBkDatabase.SetCustomPropertyL ( KUid16, KDb2Value );	
       
   351 
       
   352 	RBkBookmark bookmark2 = iBkDatabase.OpenBookmarkL ( 2 );
       
   353 	CleanupClosePushL ( bookmark2 );
       
   354 	bookmark2.SetCustomPropertyL ( KUid17, intValue5 );
       
   355 	bookmark2.SetCustomPropertyL ( KUid18, realValue5 );	
       
   356 	bookmark2.SetCustomPropertyL ( KUid19, KBkmrk2Value8 );
       
   357 	bookmark2.SetCustomPropertyL ( KUid20, KBkmrk2Value );	
       
   358 	CleanupStack::PopAndDestroy ( &bookmark2 );
       
   359 
       
   360 	// Reset the custom property value for bookmark1
       
   361 	bookmark1 = iBkDatabase.OpenBookmarkL ( 1 );
       
   362 	CleanupClosePushL ( bookmark1 );
       
   363 	bookmark1.SetCustomPropertyL ( KUid17, intValue5 );
       
   364 	bookmark1.SetCustomPropertyL ( KUid18, realValue5 );	
       
   365 	bookmark1.SetCustomPropertyL ( KUid19, KBkmrk2Value8 );
       
   366 	bookmark1.SetCustomPropertyL ( KUid20, KBkmrk2Value );	
       
   367 	CleanupStack::PopAndDestroy ( 1 ); // bookmark1
       
   368 
       
   369 
       
   370 	RBkFolder folder2 = iBkDatabase.OpenFolderL ( KTxtFolder2 );
       
   371 	CleanupClosePushL ( folder2 );
       
   372 	folder2.SetCustomPropertyL ( KUid21, intValue6 );
       
   373 	folder2.SetCustomPropertyL ( KUid22, realValue6 );	
       
   374 	folder2.SetCustomPropertyL ( KUid23, KFldr2Value8 );
       
   375 	folder2.SetCustomPropertyL ( KUid24, KFldr2Value );	
       
   376 	CleanupStack::PopAndDestroy ( &folder2 );
       
   377 	folder1 = iBkDatabase.OpenFolderL ( KTxtFolder1 );
       
   378 	CleanupClosePushL ( folder1 );
       
   379 	folder1.SetCustomPropertyL ( KUid21, intValue6 );
       
   380 	folder1.SetCustomPropertyL ( KUid22, realValue6 );	
       
   381 	folder1.SetCustomPropertyL ( KUid23, KFldr2Value8 );
       
   382 	folder1.SetCustomPropertyL ( KUid24, KFldr2Value );	
       
   383 	CleanupStack::PopAndDestroy ( &folder1 );
       
   384 	}
       
   385 
       
   386 void CBmTests::ReadCustomPropertiesValueL ()
       
   387 	{
       
   388 	HBufC* retDesC16 = HBufC::NewLC(KMaxTestLength);
       
   389 	TPtr retPtr16 = retDesC16->Des();
       
   390 	HBufC8* retDesC8 = HBufC8::NewLC(KMaxTestLength * 2);
       
   391 	TPtr8 retPtr8 = retDesC8->Des();
       
   392 	TReal realValue;
       
   393 	TInt intValue;
       
   394 	
       
   395 	iBkDatabase.GetCustomPropertyL ( KUid1, intValue );	
       
   396 	iTestWrapper.TEST ( intValue == intValue1 );
       
   397 
       
   398 	iBkDatabase.GetCustomPropertyL ( KUid2, realValue );	
       
   399 	iTestWrapper.TEST ( realValue == realValue1 );
       
   400 
       
   401 	iBkDatabase.GetCustomPropertyL ( KUid3, retPtr8 );
       
   402 	iTestWrapper.TEST(retPtr8.Compare(KDbValue8) == 0);
       
   403 	
       
   404 	iBkDatabase.GetCustomPropertyL ( KUid4, retPtr16 );
       
   405 	iTestWrapper.TEST(retPtr16.Compare(KDbValue) == 0);
       
   406 	
       
   407 	RBkBookmark bookmark2 = iBkDatabase.OpenBookmarkL ( 2 );
       
   408 	CleanupClosePushL ( bookmark2 );
       
   409 
       
   410 	bookmark2.GetCustomPropertyL ( KUid17, intValue );
       
   411 	iTestWrapper.TEST ( intValue == intValue5 );	
       
   412 
       
   413 	bookmark2.GetCustomPropertyL ( KUid18, realValue );
       
   414 	iTestWrapper.TEST ( realValue == realValue5 );	
       
   415 	
       
   416 	bookmark2.GetCustomPropertyL ( KUid19, retPtr8 );
       
   417 	iTestWrapper.TEST(retPtr8.Compare ( KBkmrk2Value8 ) == 0);
       
   418 
       
   419 	bookmark2.GetCustomPropertyL ( KUid20, retPtr16 );
       
   420 	iTestWrapper.TEST(retPtr16.Compare ( KBkmrk2Value ) == 0);
       
   421 	
       
   422 	RBkFolder folder2 = iBkDatabase.OpenFolderL ( KTxtFolder2 );
       
   423 	CleanupClosePushL ( folder2 );
       
   424 	folder2.GetCustomPropertyL ( KUid21, intValue );
       
   425 	iTestWrapper.TEST ( intValue == intValue6 );	
       
   426 
       
   427 	folder2.GetCustomPropertyL ( KUid22, realValue );	
       
   428 	iTestWrapper.TEST ( realValue == realValue6 );	
       
   429 
       
   430 	folder2.GetCustomPropertyL ( KUid23, retPtr8 );
       
   431 	iTestWrapper.TEST(retPtr8.Compare ( KFldr2Value8 ) == 0);
       
   432 	
       
   433 	folder2.GetCustomPropertyL ( KUid24, retPtr16 );	
       
   434 	iTestWrapper.TEST(retPtr16.Compare ( KFldr2Value ) == 0);
       
   435 				
       
   436 	CleanupStack::PopAndDestroy ( 4 ); // retDesC16, retDesC8, bookmark2, folder2
       
   437 	}
       
   438 
       
   439 void CBmTests::UpdateTreeL ()
       
   440 	{
       
   441 	iBkDatabase.RefreshL ();
       
   442 	}
       
   443 
       
   444 void CBmTests::DeleteAllL ()
       
   445 	{
       
   446 	RBkFolder root = iBkDatabase.OpenRootL ();
       
   447 	CleanupClosePushL ( root );
       
   448 	
       
   449 	TInt count = root.Count ();	
       
   450 	
       
   451 	while ( count-- )
       
   452 		{
       
   453 		RBkNode node = root.OpenItemL ( 0 );
       
   454 		CleanupClosePushL ( node );
       
   455 		TBool recursive = ETrue;
       
   456 		
       
   457 		if ( node.Type() == Bookmark::ETypeBookmark )
       
   458 			{
       
   459 			recursive = EFalse;
       
   460 			}
       
   461 		
       
   462 		iBkDatabase.DeleteItemL ( node.Id(), recursive );
       
   463 		CleanupStack::PopAndDestroy ( &node );
       
   464 		}		
       
   465 	CleanupStack::PopAndDestroy ( &root ); 
       
   466 	}
       
   467 
       
   468