os/kernelhwsrv/kerneltest/f32test/server/t_parse.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of the License "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// f32test\server\t_parse.cpp
sl@0
    15
// 
sl@0
    16
//
sl@0
    17
sl@0
    18
#include <f32file.h>
sl@0
    19
#include <e32test.h>
sl@0
    20
#include "t_server.h"
sl@0
    21
sl@0
    22
GLDEF_D RTest test(_L("T_PARSE"));
sl@0
    23
TPtrC test_string=_L("Y:\\");
sl@0
    24
sl@0
    25
LOCAL_C void Test1()
sl@0
    26
//
sl@0
    27
// Test all TParse methods
sl@0
    28
//
sl@0
    29
	{
sl@0
    30
sl@0
    31
	test.Start(_L("Test all TParse methods"));
sl@0
    32
	TBuf<16> relatedFiles(_L(".CCC"));
sl@0
    33
	TBuf<16> defaultPath(_L("C:\\"));
sl@0
    34
	TParse parser;
sl@0
    35
	TInt r=parser.Set(_L("\\WWW\\XXX\\YYY\\ZZZ\\AAA"),&relatedFiles,&defaultPath);
sl@0
    36
	test(r==KErrNone);
sl@0
    37
	test(parser.FullName()==_L("C:\\WWW\\XXX\\YYY\\ZZZ\\AAA.CCC"));
sl@0
    38
	test(parser.Drive()==_L("C:"));
sl@0
    39
	test(parser.Path()==_L("\\WWW\\XXX\\YYY\\ZZZ\\"));
sl@0
    40
	test(parser.DriveAndPath()==_L("C:\\WWW\\XXX\\YYY\\ZZZ\\"));
sl@0
    41
	test(parser.Name()==_L("AAA"));
sl@0
    42
	test(parser.Ext()==_L(".CCC"));
sl@0
    43
	test(parser.NameAndExt()==_L("AAA.CCC"));
sl@0
    44
	test(parser.DrivePresent()==EFalse);
sl@0
    45
	test(parser.PathPresent());
sl@0
    46
	test(parser.NamePresent());
sl@0
    47
	test(parser.ExtPresent()==EFalse);
sl@0
    48
	test(parser.NameOrExtPresent());
sl@0
    49
	test(parser.IsRoot()==EFalse);
sl@0
    50
	test(parser.IsWild()==EFalse);
sl@0
    51
	test(parser.IsNameWild()==EFalse);
sl@0
    52
	test(parser.IsExtWild()==EFalse);
sl@0
    53
	r=parser.SetNoWild(_L("\\WWW\\XXX\\YYY\\ZZZ\\AAA.EXT"),&relatedFiles,&defaultPath);
sl@0
    54
	test(r==KErrNone);
sl@0
    55
	test(parser.PopDir()==KErrNone);
sl@0
    56
	test(parser.AddDir(_L("BBB"))==KErrNone);
sl@0
    57
	test.End();
sl@0
    58
	}
sl@0
    59
sl@0
    60
LOCAL_C void Test2()
sl@0
    61
//
sl@0
    62
// Test multiple PopDirs
sl@0
    63
//
sl@0
    64
	{
sl@0
    65
sl@0
    66
	test.Start(_L("Test multiple PopDirs"));
sl@0
    67
	TParse parser;
sl@0
    68
	TInt r=parser.Set(_L("\\WWW\\XXX\\YYY\\ZZZ\\"),NULL,NULL);
sl@0
    69
//	TParsePtrC parser(_L("\\WWW\\XXX\\YYY\\ZZZ\\"));
sl@0
    70
	test(r==KErrNone);
sl@0
    71
	r=parser.PopDir();
sl@0
    72
	test(r==KErrNone);
sl@0
    73
	test(parser.Path()==_L("\\WWW\\XXX\\YYY\\"));
sl@0
    74
	r=parser.PopDir();
sl@0
    75
	test(r==KErrNone);
sl@0
    76
	test(parser.Path()==_L("\\WWW\\XXX\\"));
sl@0
    77
	r=parser.PopDir();
sl@0
    78
	test(r==KErrNone);
sl@0
    79
	test(parser.Path()==_L("\\WWW\\"));
sl@0
    80
	r=parser.PopDir();
sl@0
    81
	test(r==KErrNone);
sl@0
    82
	test(parser.Path()==_L("\\"));
sl@0
    83
	r=parser.PopDir();
sl@0
    84
	test(r==KErrGeneral);
sl@0
    85
//
sl@0
    86
	test(parser.Set(_L("C:\\Documents\\.TXT"),NULL,NULL)==KErrNone);
sl@0
    87
	test(parser.PopDir()==KErrNone);
sl@0
    88
	test(parser.FullName()==_L("C:\\.TXT"));
sl@0
    89
	test.End();
sl@0
    90
	}
sl@0
    91
sl@0
    92
LOCAL_C void Test3()
sl@0
    93
//
sl@0
    94
// Test conflicting drive letters
sl@0
    95
//
sl@0
    96
	{
sl@0
    97
sl@0
    98
	test.Start(_L("Test conflicting default drive letters"));
sl@0
    99
	TParse parser;
sl@0
   100
    TPtrC one=_L("\\ONE\\");
sl@0
   101
    TPtrC null=_L("\\");
sl@0
   102
    TPtrC x=_L("X:");
sl@0
   103
    TPtrC x2=_L("X:\\");
sl@0
   104
    TPtrC z=_L("Z:");
sl@0
   105
	TInt r=parser.Set(_L("Z:\\Hello"),&one,&null);
sl@0
   106
	test(r==KErrNone);
sl@0
   107
	test(parser.FullName()==_L("Z:\\Hello"));
sl@0
   108
    TPtrC sht=_L("*.SHT");
sl@0
   109
    r=parser.Set(_L("Z:"),&sht,&x);
sl@0
   110
	test(r==KErrNone);
sl@0
   111
	test(parser.FullName()==_L("Z:*.SHT"));
sl@0
   112
	r=parser.Set(_L("Hello"),&z,&x2);
sl@0
   113
	test(r==KErrNone);
sl@0
   114
	test(parser.FullName()==_L("Z:\\Hello"));
sl@0
   115
	r=parser.Set(_L("W:\\Hello"),&z,&x2);
sl@0
   116
	test(r==KErrNone);
sl@0
   117
	test(parser.FullName()==_L("W:\\Hello"));
sl@0
   118
    TPtrC abcdefg=_L("abcdefg");
sl@0
   119
    TPtrC onetwo=_L("X:\\ONE\\TWO\\.CCC");
sl@0
   120
	r=parser.Set(_L("W:"),&abcdefg,&onetwo);
sl@0
   121
	test(r==KErrNone);
sl@0
   122
	test(parser.FullName()==_L("W:\\ONE\\TWO\\abcdefg.CCC"));
sl@0
   123
    TPtrC y=_L("Y:");
sl@0
   124
    TPtrC xhello=_L("X:\\HELLO\\");
sl@0
   125
    r=parser.Set(_L("World"),&y,&xhello);
sl@0
   126
	test(r==KErrNone);
sl@0
   127
	test(parser.FullName()==_L("Y:\\HELLO\\World"));
sl@0
   128
    TPtrC xhelloext=_L("X:\\HELLO\\.EXT");
sl@0
   129
    r=parser.Set(_L("World"),&y,&xhelloext);
sl@0
   130
	test(r==KErrNone);
sl@0
   131
	test(parser.FullName()==_L("Y:\\HELLO\\World.EXT"));
sl@0
   132
	test.End();
sl@0
   133
	}
sl@0
   134
sl@0
   135
LOCAL_C void Test4()
sl@0
   136
//
sl@0
   137
// Conflicting relative path drives and names
sl@0
   138
//
sl@0
   139
	{
sl@0
   140
sl@0
   141
	test.Start(_L("Test conflicting relative drive letters"));
sl@0
   142
	TParse parser;
sl@0
   143
    TPtrC xone=_L("X:\\ONE\\");
sl@0
   144
    TPtrC y=_L("Y:\\");
sl@0
   145
	TInt r=parser.Set(_L("Z:\\Hello"),&xone,&y);
sl@0
   146
	test(r==KErrNone);
sl@0
   147
	test(parser.FullName()==_L("Z:\\Hello"));
sl@0
   148
    TPtrC zone=_L("Z:\\ONE\\");
sl@0
   149
    TPtrC xnew=_L("X:\\NEW\\");
sl@0
   150
    r=parser.Set(_L("\\Hello"),&zone,&xnew);
sl@0
   151
	test(r==KErrNone);
sl@0
   152
	test(parser.FullName()==_L("Z:\\Hello"));
sl@0
   153
    TPtrC aone=_L("A:\\ONE\\");
sl@0
   154
    TPtrC anew=_L("A:\\NEW\\");
sl@0
   155
    r=parser.Set(_L("A:Hello"),&aone,&anew);
sl@0
   156
	test(r==KErrNone);
sl@0
   157
	test(parser.FullName()==_L("A:\\ONE\\Hello"));
sl@0
   158
    TPtrC a=_L("A:\\");
sl@0
   159
    r=parser.Set(_L("Hello"),&a,&xnew);
sl@0
   160
	test(r==KErrNone);
sl@0
   161
	test(parser.FullName()==_L("A:\\Hello"));
sl@0
   162
	r=parser.Set(_L("Hello"),&aone,&xnew);
sl@0
   163
	test(r==KErrNone);
sl@0
   164
	test(parser.FullName()==_L("A:\\ONE\\Hello"));
sl@0
   165
	test.End();
sl@0
   166
	}
sl@0
   167
sl@0
   168
sl@0
   169
LOCAL_C void Test5()
sl@0
   170
//
sl@0
   171
// Test illegal paths
sl@0
   172
//
sl@0
   173
	{
sl@0
   174
sl@0
   175
	test.Start(_L("Test errors returned by illegal paths"));
sl@0
   176
	TParse parser;
sl@0
   177
	TInt r=parser.Set(_L("FOO\\"),NULL,NULL);
sl@0
   178
	test(r==KErrBadName);
sl@0
   179
	r=parser.Set(_L("C:\\FOO\\\\"),NULL,NULL);
sl@0
   180
	test(r==KErrNone);
sl@0
   181
	test.End();
sl@0
   182
	}
sl@0
   183
sl@0
   184
LOCAL_C void Test6()
sl@0
   185
//
sl@0
   186
// Test AddDir
sl@0
   187
//
sl@0
   188
	{
sl@0
   189
sl@0
   190
	test.Start(_L("Test AddDir"));
sl@0
   191
	TParse parser;
sl@0
   192
	test(parser.Set(_L("C:\\"),NULL,NULL)==KErrNone);
sl@0
   193
	test(parser.IsRoot());
sl@0
   194
	test(parser.FullName()==_L("C:\\"));
sl@0
   195
	test(parser.AddDir(_L("HELLO"))==KErrNone);
sl@0
   196
	test(parser.IsRoot()==EFalse);
sl@0
   197
	test(parser.FullName()==_L("C:\\HELLO\\"));
sl@0
   198
	test(parser.AddDir(_L("BYEBYE"))==KErrNone);
sl@0
   199
	test(parser.IsRoot()==EFalse);
sl@0
   200
	test(parser.FullName()==_L("C:\\HELLO\\BYEBYE\\"));
sl@0
   201
	test(parser.PopDir()==KErrNone);
sl@0
   202
	test(parser.IsRoot()==EFalse);
sl@0
   203
	test(parser.FullName()==_L("C:\\HELLO\\"));
sl@0
   204
	test(parser.PopDir()==KErrNone);
sl@0
   205
	test(parser.IsRoot());
sl@0
   206
	test(parser.FullName()==_L("C:\\"));
sl@0
   207
//
sl@0
   208
	test(parser.AddDir(_L(""))==KErrNone);
sl@0
   209
	test(parser.IsRoot());
sl@0
   210
	test(parser.FullName()==_L("C:\\"));
sl@0
   211
	test(parser.AddDir(_L("HELLO"))==KErrNone);
sl@0
   212
	test(parser.IsRoot()==EFalse);
sl@0
   213
	test(parser.FullName()==_L("C:\\HELLO\\"));
sl@0
   214
	test(parser.AddDir(_L(""))==KErrNone);
sl@0
   215
	test(parser.IsRoot()==EFalse);
sl@0
   216
	test(parser.FullName()==_L("C:\\HELLO\\"));
sl@0
   217
//
sl@0
   218
	test(parser.Set(_L("C:\\Documents\\.TXT"),NULL,NULL)==KErrNone);
sl@0
   219
	test(parser.AddDir(_L("Documents"))==KErrNone);
sl@0
   220
	test(parser.FullName()==_L("C:\\Documents\\Documents\\.TXT"));
sl@0
   221
	test.End();
sl@0
   222
	}
sl@0
   223
sl@0
   224
LOCAL_C void Test7()
sl@0
   225
//
sl@0
   226
// Test TParsePtr
sl@0
   227
//
sl@0
   228
	{
sl@0
   229
sl@0
   230
	test.Start(_L("Test TParsePtr"));
sl@0
   231
	TBuf<128> nameBuf=_L("C:\\WWW\\XXX\\YYY\\ZZZ\\AAA.CCC");
sl@0
   232
	TParsePtr parser(nameBuf);
sl@0
   233
sl@0
   234
	test(parser.FullName()==_L("C:\\WWW\\XXX\\YYY\\ZZZ\\AAA.CCC"));
sl@0
   235
	test(parser.Drive()==_L("C:"));
sl@0
   236
	test(parser.Path()==_L("\\WWW\\XXX\\YYY\\ZZZ\\"));
sl@0
   237
	test(parser.DriveAndPath()==_L("C:\\WWW\\XXX\\YYY\\ZZZ\\"));
sl@0
   238
	test(parser.Name()==_L("AAA"));
sl@0
   239
	test(parser.Ext()==_L(".CCC"));
sl@0
   240
	test(parser.NameAndExt()==_L("AAA.CCC"));
sl@0
   241
	test(parser.DrivePresent());
sl@0
   242
	test(parser.PathPresent());
sl@0
   243
	test(parser.NamePresent());
sl@0
   244
	test(parser.ExtPresent());
sl@0
   245
	test(parser.NameOrExtPresent());
sl@0
   246
	test(parser.IsRoot()==EFalse);
sl@0
   247
	test(parser.IsWild()==EFalse);
sl@0
   248
	test(parser.IsNameWild()==EFalse);
sl@0
   249
	test(parser.IsExtWild()==EFalse);
sl@0
   250
	
sl@0
   251
	test(parser.AddDir(_L("HELLO"))==KErrNone);
sl@0
   252
	test(parser.Path()==_L("\\WWW\\XXX\\YYY\\ZZZ\\HELLO\\"));
sl@0
   253
sl@0
   254
	TBuf<16> shortName=_L("1234567812345678");
sl@0
   255
	TParsePtr parser2(shortName);
sl@0
   256
	test(parser2.FullName()==_L("1234567812345678"));
sl@0
   257
	test(parser2.Path()==_L(""));
sl@0
   258
	test(parser2.DriveAndPath()==_L(""));
sl@0
   259
	test(parser2.Ext()==_L(""));
sl@0
   260
	test(parser2.Name()==_L("1234567812345678"));
sl@0
   261
	test(parser2.AddDir(_L("TOOBIG"))==KErrGeneral);
sl@0
   262
	test.End();
sl@0
   263
	}
sl@0
   264
sl@0
   265
LOCAL_C void Test8()
sl@0
   266
//
sl@0
   267
// Test TParsePtrC
sl@0
   268
//
sl@0
   269
	{
sl@0
   270
	
sl@0
   271
	test.Start(_L("Test TParsePtrC"));
sl@0
   272
	TBuf<128> nameBuf=_L("C:\\WWW\\XXX\\YYY\\ZZZ\\AAA.CCC");
sl@0
   273
	TParsePtrC parser(nameBuf);
sl@0
   274
sl@0
   275
	test(parser.FullName()==_L("C:\\WWW\\XXX\\YYY\\ZZZ\\AAA.CCC"));
sl@0
   276
	test(parser.Drive()==_L("C:"));
sl@0
   277
	test(parser.Path()==_L("\\WWW\\XXX\\YYY\\ZZZ\\"));
sl@0
   278
	test(parser.DriveAndPath()==_L("C:\\WWW\\XXX\\YYY\\ZZZ\\"));
sl@0
   279
	test(parser.Name()==_L("AAA"));
sl@0
   280
	test(parser.Ext()==_L(".CCC"));
sl@0
   281
	test(parser.NameAndExt()==_L("AAA.CCC"));
sl@0
   282
	test(parser.DrivePresent());
sl@0
   283
	test(parser.PathPresent());
sl@0
   284
	test(parser.NamePresent());
sl@0
   285
	test(parser.ExtPresent());
sl@0
   286
	test(parser.NameOrExtPresent());
sl@0
   287
	test(parser.IsRoot()==EFalse);
sl@0
   288
	test(parser.IsWild()==EFalse);
sl@0
   289
	test(parser.IsNameWild()==EFalse);
sl@0
   290
	test(parser.IsExtWild()==EFalse);
sl@0
   291
	test.End();
sl@0
   292
	}
sl@0
   293
sl@0
   294
LOCAL_C void Test9()
sl@0
   295
//
sl@0
   296
// Test names with leading spaces
sl@0
   297
//
sl@0
   298
	{
sl@0
   299
sl@0
   300
	test.Start(_L("Test names with leading spaces"));
sl@0
   301
	TParse parser;
sl@0
   302
	TBuf<16> nameBuf=_L("   name.txt");
sl@0
   303
	TBuf<16> pathBuf=_L("\\PATH\\");
sl@0
   304
	
sl@0
   305
	TInt r=parser.Set(pathBuf,NULL,&nameBuf);
sl@0
   306
	test(r==KErrNone);
sl@0
   307
	test(parser.FullName()==_L("\\PATH\\   name.txt"));
sl@0
   308
	r=parser.Set(_L(""),&nameBuf,&pathBuf);
sl@0
   309
	test(r==KErrNone);
sl@0
   310
	test(parser.FullName()==_L("\\PATH\\   name.txt"));
sl@0
   311
	r=parser.Set(_L("   name.txt"),NULL,&pathBuf);
sl@0
   312
	test(r==KErrNone);
sl@0
   313
	test(parser.FullName()==_L("\\PATH\\   name.txt"));
sl@0
   314
	r=parser.Set(nameBuf,&pathBuf,NULL);
sl@0
   315
	test(r==KErrNone);
sl@0
   316
	test(parser.FullName()==_L("\\PATH\\   name.txt"));
sl@0
   317
	
sl@0
   318
	TBuf<16> badPath=_L("   \\PATH\\");
sl@0
   319
	r=parser.Set(_L("C:\\"),NULL,&badPath);
sl@0
   320
	test(r==KErrBadName);
sl@0
   321
	r=parser.Set(_L("C:\\"),&badPath,NULL);
sl@0
   322
	test(r==KErrBadName);
sl@0
   323
sl@0
   324
	TBuf<16> spacePath=_L("\\  PATH\\");
sl@0
   325
	r=parser.Set(_L("C:"),&nameBuf,&spacePath);
sl@0
   326
	test(r==KErrNone);
sl@0
   327
	test(parser.FullName()==_L("C:\\  PATH\\   name.txt"));
sl@0
   328
sl@0
   329
	TBuf<32> spacename=_L("\\  name   .   txt  ");
sl@0
   330
	r=parser.Set(_L("C:"),&spacename,NULL);
sl@0
   331
	test(r==KErrNone);
sl@0
   332
	test(parser.FullName()==_L("C:\\  name   .   txt"));
sl@0
   333
sl@0
   334
// Illegal (?) values
sl@0
   335
sl@0
   336
	TBuf<16> pureSpace=_L("     ");
sl@0
   337
	r=parser.Set(_L("C:\\NAME\\"),NULL,&pureSpace);
sl@0
   338
	test(r==KErrNone);
sl@0
   339
	test(parser.FullName()==_L("C:\\NAME\\")); // Trims right off name
sl@0
   340
	r=parser.Set(_L("C:\\NAME\\   "),NULL,NULL);
sl@0
   341
	test(r==KErrNone);
sl@0
   342
	test(parser.FullName()==_L("C:\\NAME\\"));
sl@0
   343
sl@0
   344
	TBuf<16> spacePlusExt=_L("    .   ext  ");
sl@0
   345
	r=parser.Set(_L("C:\\NAME\\"),NULL,&spacePlusExt);
sl@0
   346
	test(r==KErrNone);
sl@0
   347
	test(parser.FullName()==_L("C:\\NAME\\    .   ext")); // Trims right off ext
sl@0
   348
	r=parser.Set(_L("C:\\NAME\\    .   ext   "),NULL,NULL);
sl@0
   349
	test(r==KErrNone);
sl@0
   350
	test(parser.FullName()==_L("C:\\NAME\\    .   ext"));
sl@0
   351
sl@0
   352
	TBuf<32> pathSpace=_L("\\asdf\\zxcv\\   \\asdf\\");
sl@0
   353
	r=parser.Set(_L("C:"),NULL,&pathSpace);
sl@0
   354
	test(r==KErrNone);
sl@0
   355
	test(parser.FullName()==_L("C:\\asdf\\zxcv\\   \\asdf\\")); // Leaves spaces in path
sl@0
   356
	r=parser.Set(_L("C:\\NAME\\ \\alt.sdf"),NULL,NULL);
sl@0
   357
	test(r==KErrNone);
sl@0
   358
	test(parser.FullName()==_L("C:\\NAME\\ \\alt.sdf"));
sl@0
   359
sl@0
   360
sl@0
   361
	TBuf<32> zeroPath=_L("\\asdf\\wqer\\\\asdf\\");
sl@0
   362
	r=parser.Set(_L("NAME.TXT"),NULL,&zeroPath);
sl@0
   363
	test(r==KErrNone);
sl@0
   364
	test(parser.FullName()==_L("\\asdf\\wqer\\\\asdf\\NAME.TXT")); // Leaves zerolength path
sl@0
   365
	r=parser.Set(_L("C:\\NAME\\\\alt.sdf"),NULL,NULL);
sl@0
   366
	test(r==KErrNone);
sl@0
   367
	test(parser.FullName()==_L("C:\\NAME\\\\alt.sdf"));
sl@0
   368
	test.End();
sl@0
   369
	}
sl@0
   370
sl@0
   371
LOCAL_C void Test10()
sl@0
   372
//
sl@0
   373
// Test a very long path
sl@0
   374
//
sl@0
   375
	{
sl@0
   376
sl@0
   377
	test.Next(_L("Test a Path > 256 chars"));
sl@0
   378
	TBuf<16> pathPart=_L("\\2345678");
sl@0
   379
	TBuf<512> testPath;
sl@0
   380
sl@0
   381
	for(TInt i=0;i<63;i++)
sl@0
   382
		testPath+=pathPart;
sl@0
   383
sl@0
   384
	RFs fs;
sl@0
   385
	TInt r=fs.Connect();
sl@0
   386
	test(r==KErrNone);
sl@0
   387
	TParse parse;
sl@0
   388
	r=fs.Parse(testPath,parse);
sl@0
   389
	test(r==KErrBadName);
sl@0
   390
	fs.Close();
sl@0
   391
sl@0
   392
	TFileName longFileName;
sl@0
   393
	longFileName.SetLength(254);
sl@0
   394
//	Mem::Fill((TUint8*)longFileName.Ptr(),254,'A');
sl@0
   395
	Mem::Fill((TUint8*)longFileName.Ptr(),254*sizeof(TText),'A');
sl@0
   396
	longFileName[0]='\\';
sl@0
   397
	longFileName[253]='\\';
sl@0
   398
	r=parse.Set(longFileName,&test_string,NULL);
sl@0
   399
	test(r==KErrNone);
sl@0
   400
	r=parse.PopDir();
sl@0
   401
	test(r==KErrNone);
sl@0
   402
sl@0
   403
	longFileName[123]='\\';
sl@0
   404
	r=parse.Set(longFileName,&test_string,NULL);
sl@0
   405
	test(r==KErrNone);
sl@0
   406
	r=parse.PopDir();
sl@0
   407
	test(r==KErrNone);
sl@0
   408
	TPtrC startPath((TText*)longFileName.Ptr(),124);
sl@0
   409
	test(parse.Path()==startPath);
sl@0
   410
sl@0
   411
	TPtrC endPath((TText*)longFileName.Ptr()+124,252-124+1);
sl@0
   412
	r=parse.AddDir(endPath);
sl@0
   413
	test(r==KErrNone);
sl@0
   414
	test(parse.Path()==longFileName);
sl@0
   415
	}
sl@0
   416
sl@0
   417
LOCAL_C void DoTestsL()
sl@0
   418
//
sl@0
   419
// Call all tests
sl@0
   420
//
sl@0
   421
	{
sl@0
   422
sl@0
   423
	Test1();
sl@0
   424
	Test2();
sl@0
   425
	Test3();
sl@0
   426
	Test4();
sl@0
   427
	Test5();
sl@0
   428
	Test6();
sl@0
   429
	Test7();
sl@0
   430
	Test8();
sl@0
   431
	Test9();
sl@0
   432
	Test10();
sl@0
   433
	}
sl@0
   434
sl@0
   435
GLDEF_C void CallTestsL(void)
sl@0
   436
//
sl@0
   437
// Test resource counting
sl@0
   438
//
sl@0
   439
    {
sl@0
   440
	test.Title();
sl@0
   441
sl@0
   442
	test.Start(_L("Starting TParse Tests ..."));
sl@0
   443
	DoTestsL();
sl@0
   444
sl@0
   445
	test.End();
sl@0
   446
	test.Close();
sl@0
   447
	return;
sl@0
   448
    }
sl@0
   449