]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/karma/format_manip_attr.cpp
1 // Copyright (c) 2001-2011 Hartmut Kaiser
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)
6 //#define KARMA_FAIL_COMPILATION
8 #define SPIRIT_ARGUMENTS_LIMIT 10
10 #include <boost/config/warning_disable.hpp>
11 #include <boost/detail/lightweight_test.hpp>
13 #include <boost/spirit/include/karma_char.hpp>
14 #include <boost/spirit/include/karma_numeric.hpp>
15 #include <boost/spirit/include/karma_directive.hpp>
16 #include <boost/spirit/include/karma_operator.hpp>
17 #include <boost/spirit/include/karma_action.hpp>
18 #include <boost/spirit/include/karma_stream.hpp>
19 #include <boost/spirit/include/karma_format_attr.hpp>
21 #include "test_manip_attr.hpp"
23 using spirit_test::test
;
24 using spirit_test::test_delimited
;
25 using spirit_test::test_predelimited
;
27 ///////////////////////////////////////////////////////////////////////////////
31 using namespace boost::spirit
;
34 using namespace boost::spirit::ascii
;
36 BOOST_TEST(test("1", char_
, '1'));
37 BOOST_TEST(test("12", char_
<< char_
, '1', '2'));
38 BOOST_TEST(test("123", char_
<< char_
<< char_
, '1', '2', '3'));
39 BOOST_TEST(test("1234"
40 , char_
<< char_
<< char_
<< char_
41 , '1', '2', '3', '4'));
42 BOOST_TEST(test("12345"
43 , char_
<< char_
<< char_
<< char_
<< char_
44 , '1', '2', '3', '4', '5'));
45 BOOST_TEST(test("123456"
46 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
47 , '1', '2', '3', '4', '5', '6'));
48 BOOST_TEST(test("1234567"
49 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
50 , '1', '2', '3', '4', '5', '6', '7'));
51 BOOST_TEST(test("12345678"
52 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
53 , '1', '2', '3', '4', '5', '6', '7', '8'));
54 BOOST_TEST(test("123456789"
55 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
56 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
57 BOOST_TEST(test("1234567890"
58 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
59 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
63 using namespace boost::spirit::ascii
;
65 BOOST_TEST(test_delimited("1 ", char_
, space
, '1'));
66 BOOST_TEST(test_delimited("1 2 "
67 , char_
<< char_
, space
, '1', '2'));
68 BOOST_TEST(test_delimited("1 2 3 "
69 , char_
<< char_
<< char_
, space
, '1', '2', '3'));
70 BOOST_TEST(test_delimited("1 2 3 4 "
71 , char_
<< char_
<< char_
<< char_
72 , space
, '1', '2', '3', '4'));
73 BOOST_TEST(test_delimited("1 2 3 4 5 "
74 , char_
<< char_
<< char_
<< char_
<< char_
75 , space
, '1', '2', '3', '4', '5'));
76 BOOST_TEST(test_delimited("1 2 3 4 5 6 "
77 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
78 , space
, '1', '2', '3', '4', '5', '6'));
79 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 "
80 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
81 , space
, '1', '2', '3', '4', '5', '6', '7'));
82 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 "
83 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
84 , space
, '1', '2', '3', '4', '5', '6', '7', '8'));
85 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 9 "
86 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
87 , space
, '1', '2', '3', '4', '5', '6', '7', '8', '9'));
88 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 9 0 "
89 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
90 , space
, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
94 using namespace boost::spirit::ascii
;
95 using boost::spirit::karma::delimit_flag
;
97 BOOST_TEST(test_predelimited(" 1 ", char_
, space
98 , delimit_flag::predelimit
, '1'));
99 BOOST_TEST(test_predelimited(" 1 2 "
100 , char_
<< char_
, space
, delimit_flag::predelimit
102 BOOST_TEST(test_predelimited(" 1 2 3 "
103 , char_
<< char_
<< char_
, space
104 , delimit_flag::predelimit
, '1', '2', '3'));
105 BOOST_TEST(test_predelimited(" 1 2 3 4 "
106 , char_
<< char_
<< char_
<< char_
107 , space
, delimit_flag::predelimit
, '1', '2', '3', '4'));
108 BOOST_TEST(test_predelimited(" 1 2 3 4 5 "
109 , char_
<< char_
<< char_
<< char_
<< char_
110 , space
, delimit_flag::predelimit
, '1', '2', '3', '4', '5'));
111 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 "
112 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
113 , space
, delimit_flag::predelimit
114 , '1', '2', '3', '4', '5', '6'));
115 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 "
116 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
117 , space
, delimit_flag::predelimit
118 , '1', '2', '3', '4', '5', '6', '7'));
119 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 "
120 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
121 , space
, delimit_flag::predelimit
122 , '1', '2', '3', '4', '5', '6', '7', '8'));
123 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 9 "
124 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
125 , space
, delimit_flag::predelimit
126 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
127 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 9 0 "
128 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
129 , space
, delimit_flag::predelimit
130 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
134 using namespace boost::spirit::ascii
;
135 using boost::spirit::karma::delimit_flag
;
137 BOOST_TEST(test_predelimited("1 ", char_
, space
138 , delimit_flag::dont_predelimit
, '1'));
139 BOOST_TEST(test_predelimited("1 2 "
140 , char_
<< char_
, space
, delimit_flag::dont_predelimit
142 BOOST_TEST(test_predelimited("1 2 3 "
143 , char_
<< char_
<< char_
, space
144 , delimit_flag::dont_predelimit
, '1', '2', '3'));
145 BOOST_TEST(test_predelimited("1 2 3 4 "
146 , char_
<< char_
<< char_
<< char_
147 , space
, delimit_flag::dont_predelimit
, '1', '2', '3', '4'));
148 BOOST_TEST(test_predelimited("1 2 3 4 5 "
149 , char_
<< char_
<< char_
<< char_
<< char_
150 , space
, delimit_flag::dont_predelimit
, '1', '2', '3', '4', '5'));
151 BOOST_TEST(test_predelimited("1 2 3 4 5 6 "
152 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
153 , space
, delimit_flag::dont_predelimit
154 , '1', '2', '3', '4', '5', '6'));
155 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 "
156 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
157 , space
, delimit_flag::dont_predelimit
158 , '1', '2', '3', '4', '5', '6', '7'));
159 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 "
160 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
161 , space
, delimit_flag::dont_predelimit
162 , '1', '2', '3', '4', '5', '6', '7', '8'));
163 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 9 "
164 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
165 , space
, delimit_flag::dont_predelimit
166 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
167 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 9 0 "
168 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
169 , space
, delimit_flag::dont_predelimit
170 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
173 return boost::report_errors();