| 1362 | // construction_tests ---------------------------------------------------------------// |
| 1363 | |
| 1364 | void construction_tests() |
| 1365 | { |
| 1366 | std::cout << "construction_tests..." << std::endl; |
| 1367 | |
| 1368 | PATH_TEST_EQ("", ""); |
| 1369 | |
| 1370 | PATH_TEST_EQ("foo", "foo"); |
| 1371 | PATH_TEST_EQ("f", "f"); |
| 1372 | |
| 1373 | PATH_TEST_EQ("foo/", "foo/"); |
| 1374 | PATH_TEST_EQ("f/", "f/"); |
| 1375 | PATH_TEST_EQ("foo/..", "foo/.."); |
| 1376 | PATH_TEST_EQ("foo/../", "foo/../"); |
| 1377 | PATH_TEST_EQ("foo/bar/../..", "foo/bar/../.."); |
| 1378 | PATH_TEST_EQ("foo/bar/../../", "foo/bar/../../"); |
| 1379 | PATH_TEST_EQ("/", "/"); |
| 1380 | PATH_TEST_EQ("/f", "/f"); |
| 1381 | |
| 1382 | PATH_TEST_EQ("/foo", "/foo"); |
| 1383 | PATH_TEST_EQ("/foo/bar/", "/foo/bar/"); |
| 1384 | PATH_TEST_EQ("//foo//bar//", "//foo//bar//"); |
| 1385 | PATH_TEST_EQ("///foo///bar///", "///foo///bar///"); |
| 1386 | PATH_TEST_EQ("\\/foo\\/bar\\/", "\\/foo\\/bar\\/"); |
| 1387 | PATH_TEST_EQ("\\//foo\\//bar\\//", "\\//foo\\//bar\\//"); |
| 1388 | |
| 1389 | if (platform == "Windows") |
| 1390 | { |
| 1391 | PATH_TEST_EQ(path("c:") / "foo", "c:foo"); |
| 1392 | PATH_TEST_EQ(path("c:") / "/foo", "c:/foo"); |
| 1393 | |
| 1394 | PATH_TEST_EQ("\\foo\\bar\\", "\\foo\\bar\\"); |
| 1395 | PATH_TEST_EQ("\\\\foo\\\\bar\\\\", "\\\\foo\\\\bar\\\\"); |
| 1396 | PATH_TEST_EQ("\\\\\\foo\\\\\\bar\\\\\\", "\\\\\\foo\\\\\\bar\\\\\\"); |
| 1397 | |
| 1398 | PATH_TEST_EQ("\\", "\\"); |
| 1399 | PATH_TEST_EQ("\\f", "\\f"); |
| 1400 | PATH_TEST_EQ("\\foo", "\\foo"); |
| 1401 | PATH_TEST_EQ("foo\\bar", "foo\\bar"); |
| 1402 | PATH_TEST_EQ("foo bar", "foo bar"); |
| 1403 | PATH_TEST_EQ("c:", "c:"); |
| 1404 | PATH_TEST_EQ("c:/", "c:/"); |
| 1405 | PATH_TEST_EQ("c:.", "c:."); |
| 1406 | PATH_TEST_EQ("c:./foo", "c:./foo"); |
| 1407 | PATH_TEST_EQ("c:.\\foo", "c:.\\foo"); |
| 1408 | PATH_TEST_EQ("c:..", "c:.."); |
| 1409 | PATH_TEST_EQ("c:/.", "c:/."); |
| 1410 | PATH_TEST_EQ("c:/..", "c:/.."); |
| 1411 | PATH_TEST_EQ("c:/../", "c:/../"); |
| 1412 | PATH_TEST_EQ("c:\\..\\", "c:\\..\\"); |
| 1413 | PATH_TEST_EQ("c:/../..", "c:/../.."); |
| 1414 | PATH_TEST_EQ("c:/../foo", "c:/../foo"); |
| 1415 | PATH_TEST_EQ("c:\\..\\foo", "c:\\..\\foo"); |
| 1416 | PATH_TEST_EQ("c:../foo", "c:../foo"); |
| 1417 | PATH_TEST_EQ("c:..\\foo", "c:..\\foo"); |
| 1418 | PATH_TEST_EQ("c:/../../foo", "c:/../../foo"); |
| 1419 | PATH_TEST_EQ("c:\\..\\..\\foo", "c:\\..\\..\\foo"); |
| 1420 | PATH_TEST_EQ("c:foo/..", "c:foo/.."); |
| 1421 | PATH_TEST_EQ("c:/foo/..", "c:/foo/.."); |