@@ -1311,48 +1311,73 @@ TEST(Support, ReplacePathPrefix) {
1311
1311
SmallString<64 > Path1 (" /foo" );
1312
1312
SmallString<64 > Path2 (" /old/foo" );
1313
1313
SmallString<64 > Path3 (" /oldnew/foo" );
1314
+ SmallString<64 > Path4 (" C:\\ old/foo\\ bar" );
1314
1315
SmallString<64 > OldPrefix (" /old" );
1315
1316
SmallString<64 > OldPrefixSep (" /old/" );
1317
+ SmallString<64 > OldPrefixWin (" c:/oLD/F" );
1316
1318
SmallString<64 > NewPrefix (" /new" );
1317
1319
SmallString<64 > NewPrefix2 (" /longernew" );
1318
1320
SmallString<64 > EmptyPrefix (" " );
1321
+ bool Found;
1319
1322
1320
1323
SmallString<64 > Path = Path1;
1321
- path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1324
+ Found = path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1325
+ EXPECT_FALSE (Found);
1322
1326
EXPECT_EQ (Path, " /foo" );
1323
1327
Path = Path2;
1324
- path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1328
+ Found = path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1329
+ EXPECT_TRUE (Found);
1325
1330
EXPECT_EQ (Path, " /new/foo" );
1326
1331
Path = Path2;
1327
- path::replace_path_prefix (Path, OldPrefix, NewPrefix2);
1332
+ Found = path::replace_path_prefix (Path, OldPrefix, NewPrefix2);
1333
+ EXPECT_TRUE (Found);
1328
1334
EXPECT_EQ (Path, " /longernew/foo" );
1329
1335
Path = Path1;
1330
- path::replace_path_prefix (Path, EmptyPrefix, NewPrefix);
1336
+ Found = path::replace_path_prefix (Path, EmptyPrefix, NewPrefix);
1337
+ EXPECT_TRUE (Found);
1331
1338
EXPECT_EQ (Path, " /new/foo" );
1332
1339
Path = Path2;
1333
- path::replace_path_prefix (Path, OldPrefix, EmptyPrefix);
1340
+ Found = path::replace_path_prefix (Path, OldPrefix, EmptyPrefix);
1341
+ EXPECT_TRUE (Found);
1334
1342
EXPECT_EQ (Path, " /foo" );
1335
1343
Path = Path2;
1336
- path::replace_path_prefix (Path, OldPrefixSep, EmptyPrefix);
1344
+ Found = path::replace_path_prefix (Path, OldPrefixSep, EmptyPrefix);
1345
+ EXPECT_TRUE (Found);
1337
1346
EXPECT_EQ (Path, " foo" );
1338
1347
Path = Path3;
1339
- path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1348
+ Found = path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1349
+ EXPECT_TRUE (Found);
1340
1350
EXPECT_EQ (Path, " /newnew/foo" );
1341
1351
Path = Path3;
1342
- path::replace_path_prefix (Path, OldPrefix, NewPrefix2);
1352
+ Found = path::replace_path_prefix (Path, OldPrefix, NewPrefix2);
1353
+ EXPECT_TRUE (Found);
1343
1354
EXPECT_EQ (Path, " /longernewnew/foo" );
1344
1355
Path = Path1;
1345
- path::replace_path_prefix (Path, EmptyPrefix, NewPrefix);
1356
+ Found = path::replace_path_prefix (Path, EmptyPrefix, NewPrefix);
1357
+ EXPECT_TRUE (Found);
1346
1358
EXPECT_EQ (Path, " /new/foo" );
1347
1359
Path = OldPrefix;
1348
- path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1360
+ Found = path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1361
+ EXPECT_TRUE (Found);
1349
1362
EXPECT_EQ (Path, " /new" );
1350
1363
Path = OldPrefixSep;
1351
- path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1364
+ Found = path::replace_path_prefix (Path, OldPrefix, NewPrefix);
1365
+ EXPECT_TRUE (Found);
1352
1366
EXPECT_EQ (Path, " /new/" );
1353
1367
Path = OldPrefix;
1354
- path::replace_path_prefix (Path, OldPrefixSep, NewPrefix);
1368
+ Found = path::replace_path_prefix (Path, OldPrefixSep, NewPrefix);
1369
+ EXPECT_FALSE (Found);
1355
1370
EXPECT_EQ (Path, " /old" );
1371
+ Path = Path4;
1372
+ Found = path::replace_path_prefix (Path, OldPrefixWin, NewPrefix,
1373
+ path::Style ::windows);
1374
+ EXPECT_TRUE (Found);
1375
+ EXPECT_EQ (Path, " /newoo\\ bar" );
1376
+ Path = Path4;
1377
+ Found = path::replace_path_prefix (Path, OldPrefixWin, NewPrefix,
1378
+ path::Style ::posix);
1379
+ EXPECT_FALSE (Found);
1380
+ EXPECT_EQ (Path, " C:\\ old/foo\\ bar" );
1356
1381
}
1357
1382
1358
1383
TEST_F (FileSystemTest, OpenFileForRead) {
0 commit comments