]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/lexical_cast/test/lexical_cast_filesystem_test.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / lexical_cast / test / lexical_cast_filesystem_test.cpp
1 // Unit test for boost::lexical_cast.
2 //
3 // See http://www.boost.org for most recent version, including documentation.
4 //
5 // Copyright Antony Polukhin, 2013.
6 //
7 // Distributed under the Boost
8 // Software License, Version 1.0. (See accompanying file
9 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt).
10 //
11 // Test lexical_cast usage with long filesystem::path. Bug 7704.
12
13 #include <boost/config.hpp>
14
15 #include <boost/test/unit_test.hpp>
16 #include <boost/lexical_cast.hpp>
17 #include <boost/filesystem/path.hpp>
18
19 using namespace boost;
20
21 void test_filesystem();
22
23 unit_test::test_suite *init_unit_test_suite(int, char *[])
24 {
25 unit_test::test_suite *suite =
26 BOOST_TEST_SUITE("lexical_cast unit test");
27 suite->add(BOOST_TEST_CASE(&test_filesystem));
28
29 return suite;
30 }
31
32 void test_filesystem()
33 {
34 boost::filesystem::path p;
35 std::string s1 = "aaaaaaaaaaaaaaaaaaaaaaa";
36 p = boost::lexical_cast<boost::filesystem::path>(s1);
37 BOOST_CHECK(!p.empty());
38 BOOST_CHECK_EQUAL(p, s1);
39 p.clear();
40
41 const char ab[] = "aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
42 p = boost::lexical_cast<boost::filesystem::path>(ab);
43 BOOST_CHECK(!p.empty());
44 BOOST_CHECK_EQUAL(p, ab);
45 }
46