| 2464 | #endif |
| 2465 | |
| 2466 | void self_assign_append_concat_tests() |
| 2467 | { |
| 2468 | std::cout << "self_assign_append_concat_tests..." << std::endl; |
| 2469 | |
| 2470 | path p; |
| 2471 | |
| 2472 | p = "snafubar"; |
| 2473 | PATH_TEST_EQ(p = p, "snafubar"); |
| 2474 | |
| 2475 | p = "snafubar"; |
| 2476 | p = p.c_str(); |
| 2477 | PATH_TEST_EQ(p, "snafubar"); |
| 2478 | |
| 2479 | p = "snafubar"; |
| 2480 | p.assign(p.c_str(), path::codecvt()); |
| 2481 | PATH_TEST_EQ(p, "snafubar"); |
| 2482 | |
| 2483 | p = "snafubar"; |
| 2484 | PATH_TEST_EQ(p = p.c_str() + 5, "bar"); |
| 2485 | |
| 2486 | p = "snafubar"; |
| 2487 | PATH_TEST_EQ(p.assign(p.c_str() + 5, p.c_str() + 7), "ba"); |
| 2488 | |
| 2489 | p = "snafubar"; |
| 2490 | p /= p; |
| 2491 | PATH_TEST_EQ(p, "snafubar" BOOST_DIR_SEP "snafubar"); |
| 2492 | |
| 2493 | p = "snafubar"; |
| 2494 | p /= p.c_str(); |
| 2495 | PATH_TEST_EQ(p, "snafubar" BOOST_DIR_SEP "snafubar"); |
| 2496 | |
| 2497 | p = "snafubar"; |
| 2498 | p.append(p.c_str(), path::codecvt()); |
| 2499 | PATH_TEST_EQ(p, "snafubar" BOOST_DIR_SEP "snafubar"); |
| 2500 | |
| 2501 | p = "snafubar"; |
| 2502 | PATH_TEST_EQ(p.append(p.c_str() + 5, p.c_str() + 7), "snafubar" BOOST_DIR_SEP "ba"); |
| 2503 | |
| 2504 | p = "snafubar"; |
| 2505 | p += p; |
| 2506 | PATH_TEST_EQ(p, "snafubarsnafubar"); |
| 2507 | |
| 2508 | p = "snafubar"; |
| 2509 | p += p.c_str(); |
| 2510 | PATH_TEST_EQ(p, "snafubarsnafubar"); |
| 2511 | |
| 2512 | p = "snafubar"; |
| 2513 | p.concat(p.c_str(), path::codecvt()); |
| 2514 | PATH_TEST_EQ(p, "snafubarsnafubar"); |
| 2515 | |
| 2516 | p = "snafubar"; |
| 2517 | PATH_TEST_EQ(p.concat(p.c_str() + 5, p.c_str() + 7), "snafubarba"); |
| 2518 | } |
| 2519 | |
| 2520 | #if defined(__clang__) && defined(__has_warning) |
| 2521 | #if __has_warning("-Wself-assign-overloaded") |