]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/x3/lit1.cpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / libs / spirit / test / x3 / lit1.cpp
1 /*=============================================================================
2 Copyright (c) 2001-2015 Joel de Guzman
3 http://spirit.sourceforge.net/
4
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 =============================================================================*/
8 #include <boost/detail/lightweight_test.hpp>
9 #include <boost/spirit/home/x3.hpp>
10 #include <boost/fusion/include/vector.hpp>
11
12 #include <string>
13 #include "test.hpp"
14
15 int
16 main()
17 {
18 using spirit_test::test;
19 using spirit_test::test_attr;
20 using boost::spirit::x3::string;
21
22 BOOST_SPIRIT_ASSERT_CONSTEXPR_CTORS(string("x"));
23
24 {
25 BOOST_TEST((test("kimpo", "kimpo")));
26 BOOST_TEST((test("kimpo", string("kimpo"))));
27
28 BOOST_TEST((test("x", string("x"))));
29 BOOST_TEST((test(L"x", string(L"x"))));
30
31 std::basic_string<char> s("kimpo");
32 std::basic_string<wchar_t> ws(L"kimpo");
33 BOOST_TEST((test("kimpo", s)));
34 BOOST_TEST((test(L"kimpo", ws)));
35 BOOST_TEST((test("kimpo", string(s))));
36 BOOST_TEST((test(L"kimpo", string(ws))));
37 }
38
39 {
40 BOOST_TEST((test(L"kimpo", L"kimpo")));
41 BOOST_TEST((test(L"kimpo", string(L"kimpo"))));
42 BOOST_TEST((test(L"x", string(L"x"))));
43 }
44
45 {
46 std::basic_string<char> s("kimpo");
47 BOOST_TEST((test("kimpo", string(s))));
48
49 std::basic_string<wchar_t> ws(L"kimpo");
50 BOOST_TEST((test(L"kimpo", string(ws))));
51 }
52
53 {
54 using namespace boost::spirit::x3::ascii;
55 BOOST_TEST((test(" kimpo", string("kimpo"), space)));
56 BOOST_TEST((test(L" kimpo", string(L"kimpo"), space)));
57 BOOST_TEST((test(" x", string("x"), space)));
58 }
59
60 {
61 using namespace boost::spirit::x3::ascii;
62 BOOST_TEST((test(" kimpo", string("kimpo"), space)));
63 BOOST_TEST((test(L" kimpo", string(L"kimpo"), space)));
64 BOOST_TEST((test(" x", string("x"), space)));
65 }
66
67 {
68 using namespace boost::spirit::x3::ascii;
69 std::string s;
70 BOOST_TEST((test_attr("kimpo", string("kimpo"), s)));
71 BOOST_TEST(s == "kimpo");
72 s.clear();
73 BOOST_TEST((test_attr(L"kimpo", string(L"kimpo"), s)));
74 BOOST_TEST(s == "kimpo");
75 s.clear();
76 BOOST_TEST((test_attr("x", string("x"), s)));
77 BOOST_TEST(s == "x");
78 }
79
80 { // single-element fusion vector tests
81 boost::fusion::vector<std::string> s;
82 BOOST_TEST(test_attr("kimpo", string("kimpo"), s));
83 BOOST_TEST(boost::fusion::at_c<0>(s) == "kimpo");
84 }
85
86 return boost::report_errors();
87 }