]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/spirit/test/karma/format_manip_attr.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / spirit / test / karma / format_manip_attr.cpp
CommitLineData
7c673cae
FG
1// Copyright (c) 2001-2011 Hartmut Kaiser
2//
3// Distributed under the Boost Software License, Version 1.0. (See accompanying
4// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
1e59de90 6#include <boost/spirit/include/karma_format_attr.hpp>
7c673cae
FG
7
8#include <boost/spirit/include/karma_char.hpp>
9#include <boost/spirit/include/karma_numeric.hpp>
10#include <boost/spirit/include/karma_directive.hpp>
11#include <boost/spirit/include/karma_operator.hpp>
12#include <boost/spirit/include/karma_action.hpp>
13#include <boost/spirit/include/karma_stream.hpp>
7c673cae
FG
14
15#include "test_manip_attr.hpp"
16
92f5a8d4
TL
17#if SPIRIT_ARGUMENTS_LIMIT < 10
18# error SPIRIT_ARGUMENTS_LIMIT must be at least 10 to run the test
19#endif
20
7c673cae
FG
21using spirit_test::test;
22using spirit_test::test_delimited;
23using spirit_test::test_predelimited;
24
25///////////////////////////////////////////////////////////////////////////////
26int
27main()
28{
29 using namespace boost::spirit;
30
31 {
32 using namespace boost::spirit::ascii;
33
34 BOOST_TEST(test("1", char_, '1'));
35 BOOST_TEST(test("12", char_ << char_, '1', '2'));
36 BOOST_TEST(test("123", char_ << char_ << char_, '1', '2', '3'));
37 BOOST_TEST(test("1234"
38 , char_ << char_ << char_ << char_
39 , '1', '2', '3', '4'));
40 BOOST_TEST(test("12345"
41 , char_ << char_ << char_ << char_ << char_
42 , '1', '2', '3', '4', '5'));
43 BOOST_TEST(test("123456"
44 , char_ << char_ << char_ << char_ << char_ << char_
45 , '1', '2', '3', '4', '5', '6'));
46 BOOST_TEST(test("1234567"
47 , char_ << char_ << char_ << char_ << char_ << char_ << char_
48 , '1', '2', '3', '4', '5', '6', '7'));
49 BOOST_TEST(test("12345678"
50 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
51 , '1', '2', '3', '4', '5', '6', '7', '8'));
52 BOOST_TEST(test("123456789"
53 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
54 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
55 BOOST_TEST(test("1234567890"
56 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
57 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
58 }
59
60 {
61 using namespace boost::spirit::ascii;
62
63 BOOST_TEST(test_delimited("1 ", char_, space, '1'));
64 BOOST_TEST(test_delimited("1 2 "
65 , char_ << char_, space, '1', '2'));
66 BOOST_TEST(test_delimited("1 2 3 "
67 , char_ << char_ << char_, space, '1', '2', '3'));
68 BOOST_TEST(test_delimited("1 2 3 4 "
69 , char_ << char_ << char_ << char_
70 , space, '1', '2', '3', '4'));
71 BOOST_TEST(test_delimited("1 2 3 4 5 "
72 , char_ << char_ << char_ << char_ << char_
73 , space, '1', '2', '3', '4', '5'));
74 BOOST_TEST(test_delimited("1 2 3 4 5 6 "
75 , char_ << char_ << char_ << char_ << char_ << char_
76 , space, '1', '2', '3', '4', '5', '6'));
77 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 "
78 , char_ << char_ << char_ << char_ << char_ << char_ << char_
79 , space, '1', '2', '3', '4', '5', '6', '7'));
80 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 "
81 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
82 , space, '1', '2', '3', '4', '5', '6', '7', '8'));
83 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 9 "
84 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
85 , space, '1', '2', '3', '4', '5', '6', '7', '8', '9'));
86 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 9 0 "
87 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
88 , space, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
89 }
90
91 {
92 using namespace boost::spirit::ascii;
93 using boost::spirit::karma::delimit_flag;
94
95 BOOST_TEST(test_predelimited(" 1 ", char_, space
96 , delimit_flag::predelimit, '1'));
97 BOOST_TEST(test_predelimited(" 1 2 "
98 , char_ << char_, space, delimit_flag::predelimit
99 , '1', '2'));
100 BOOST_TEST(test_predelimited(" 1 2 3 "
101 , char_ << char_ << char_, space
102 , delimit_flag::predelimit, '1', '2', '3'));
103 BOOST_TEST(test_predelimited(" 1 2 3 4 "
104 , char_ << char_ << char_ << char_
105 , space, delimit_flag::predelimit, '1', '2', '3', '4'));
106 BOOST_TEST(test_predelimited(" 1 2 3 4 5 "
107 , char_ << char_ << char_ << char_ << char_
108 , space, delimit_flag::predelimit, '1', '2', '3', '4', '5'));
109 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 "
110 , char_ << char_ << char_ << char_ << char_ << char_
111 , space, delimit_flag::predelimit
112 , '1', '2', '3', '4', '5', '6'));
113 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 "
114 , char_ << char_ << char_ << char_ << char_ << char_ << char_
115 , space, delimit_flag::predelimit
116 , '1', '2', '3', '4', '5', '6', '7'));
117 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 "
118 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
119 , space, delimit_flag::predelimit
120 , '1', '2', '3', '4', '5', '6', '7', '8'));
121 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 9 "
122 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
123 , space, delimit_flag::predelimit
124 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
125 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 9 0 "
126 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
127 , space, delimit_flag::predelimit
128 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
129 }
130
131 {
132 using namespace boost::spirit::ascii;
133 using boost::spirit::karma::delimit_flag;
134
135 BOOST_TEST(test_predelimited("1 ", char_, space
136 , delimit_flag::dont_predelimit, '1'));
137 BOOST_TEST(test_predelimited("1 2 "
138 , char_ << char_, space, delimit_flag::dont_predelimit
139 , '1', '2'));
140 BOOST_TEST(test_predelimited("1 2 3 "
141 , char_ << char_ << char_, space
142 , delimit_flag::dont_predelimit, '1', '2', '3'));
143 BOOST_TEST(test_predelimited("1 2 3 4 "
144 , char_ << char_ << char_ << char_
145 , space, delimit_flag::dont_predelimit, '1', '2', '3', '4'));
146 BOOST_TEST(test_predelimited("1 2 3 4 5 "
147 , char_ << char_ << char_ << char_ << char_
148 , space, delimit_flag::dont_predelimit, '1', '2', '3', '4', '5'));
149 BOOST_TEST(test_predelimited("1 2 3 4 5 6 "
150 , char_ << char_ << char_ << char_ << char_ << char_
151 , space, delimit_flag::dont_predelimit
152 , '1', '2', '3', '4', '5', '6'));
153 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 "
154 , char_ << char_ << char_ << char_ << char_ << char_ << char_
155 , space, delimit_flag::dont_predelimit
156 , '1', '2', '3', '4', '5', '6', '7'));
157 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 "
158 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
159 , space, delimit_flag::dont_predelimit
160 , '1', '2', '3', '4', '5', '6', '7', '8'));
161 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 9 "
162 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
163 , space, delimit_flag::dont_predelimit
164 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
165 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 9 0 "
166 , char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_ << char_
167 , space, delimit_flag::dont_predelimit
168 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
169 }
170
171 return boost::report_errors();
172}
173