| 2924 | #endif |
| 2925 | |
| 2926 | int cpp_main(int, char*[]) |
| 2927 | { |
| 2928 | // The choice of platform is make at runtime rather than compile-time |
| 2929 | // so that compile errors for all platforms will be detected even though |
| 2930 | // only the current platform is runtime tested. |
| 2931 | platform = (platform == "Win32" || platform == "Win64") ? "Windows" : "POSIX"; |
| 2932 | std::cout << "Platform is " << platform << '\n'; |
| 2933 | |
| 2934 | BOOST_TEST(p1.string() != p3.string()); |
| 2935 | p3 = p2; |
| 2936 | BOOST_TEST(p1.string() == p3.string()); |
| 2937 | |
| 2938 | path p04("foobar"); |
| 2939 | BOOST_TEST(p04.string() == "foobar"); |
| 2940 | p04 = p04; // self-assignment |
| 2941 | BOOST_TEST(p04.string() == "foobar"); |
| 2942 | |
| 2943 | construction_tests(); |
| 2944 | append_tests(); |
| 2945 | concat_tests(); |
| 2946 | self_assign_append_concat_tests(); |
| 2947 | overload_tests(); |
| 2948 | query_and_decomposition_tests(); |
| 2949 | composition_tests(); |
| 2950 | iterator_tests(); |
| 2951 | non_member_tests(); |
| 2952 | exception_tests(); |
| 2953 | name_function_tests(); |
| 2954 | replace_extension_tests(); |
| 2955 | make_preferred_tests(); |
| 2956 | generic_path_tests(); |
| 2957 | lexically_normal_tests(); |
| 2958 | compare_tests(); |
| 2959 | |
| 2960 | // verify deprecated names still available |
| 2961 | |
| 2962 | #ifndef BOOST_FILESYSTEM_NO_DEPRECATED |
| 2963 | |
| 2964 | p1.branch_path(); |
| 2965 | p1.leaf(); |
| 2966 | path p_remove_leaf; |
| 2967 | p_remove_leaf.remove_leaf(); |
| 2968 | |
| 2969 | #endif |
| 2970 | |
| 2971 | std::string s1("//:somestring"); // this used to be treated specially |
| 2972 | |
| 2973 | // check the path member templates |
| 2974 | p5.assign(s1.begin(), s1.end()); |
| 2975 | |
| 2976 | PATH_TEST_EQ(p5.string(), "//:somestring"); |
| 2977 | p5 = s1; |
| 2978 | PATH_TEST_EQ(p5.string(), "//:somestring"); |
| 2979 | |
| 2980 | // this code, courtesy of David Whetstone, detects a now fixed bug that |
| 2981 | // derefereced the end iterator (assuming debug build with checked itors) |
| 2982 | std::vector< char > v1; |
| 2983 | p5.assign(v1.begin(), v1.end()); |
nothing calls this directly
no test coverage detected