]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/karma/generate_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 #include <boost/config/warning_disable.hpp>
7 #include <boost/detail/lightweight_test.hpp>
9 #include <boost/spirit/include/karma_char.hpp>
10 #include <boost/spirit/include/karma_operator.hpp>
11 #include <boost/spirit/include/karma_generate_attr.hpp>
13 #include "test_attr.hpp"
15 #if SPIRIT_ARGUMENTS_LIMIT < 10
16 # error SPIRIT_ARGUMENTS_LIMIT must be at least 10 to run the test
19 using namespace spirit_test
;
21 ///////////////////////////////////////////////////////////////////////////////
25 using namespace boost::spirit
;
28 using namespace boost::spirit::ascii
;
30 BOOST_TEST(test("1", char_
, '1'));
31 BOOST_TEST(test("12", char_
<< char_
, '1', '2'));
32 BOOST_TEST(test("123", char_
<< char_
<< char_
, '1', '2', '3'));
33 BOOST_TEST(test("1234"
34 , char_
<< char_
<< char_
<< char_
35 , '1', '2', '3', '4'));
36 BOOST_TEST(test("12345"
37 , char_
<< char_
<< char_
<< char_
<< char_
38 , '1', '2', '3', '4', '5'));
39 BOOST_TEST(test("123456"
40 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
41 , '1', '2', '3', '4', '5', '6'));
42 BOOST_TEST(test("1234567"
43 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
44 , '1', '2', '3', '4', '5', '6', '7'));
45 BOOST_TEST(test("12345678"
46 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
47 , '1', '2', '3', '4', '5', '6', '7', '8'));
48 BOOST_TEST(test("123456789"
49 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
50 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
51 BOOST_TEST(test("1234567890"
52 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
53 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
57 using namespace boost::spirit::ascii
;
59 BOOST_TEST(test_delimited("1 ", char_
, space
, '1'));
60 BOOST_TEST(test_delimited("1 2 "
61 , char_
<< char_
, space
, '1', '2'));
62 BOOST_TEST(test_delimited("1 2 3 "
63 , char_
<< char_
<< char_
, space
, '1', '2', '3'));
64 BOOST_TEST(test_delimited("1 2 3 4 "
65 , char_
<< char_
<< char_
<< char_
66 , space
, '1', '2', '3', '4'));
67 BOOST_TEST(test_delimited("1 2 3 4 5 "
68 , char_
<< char_
<< char_
<< char_
<< char_
69 , space
, '1', '2', '3', '4', '5'));
70 BOOST_TEST(test_delimited("1 2 3 4 5 6 "
71 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
72 , space
, '1', '2', '3', '4', '5', '6'));
73 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 "
74 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
75 , space
, '1', '2', '3', '4', '5', '6', '7'));
76 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 "
77 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
78 , space
, '1', '2', '3', '4', '5', '6', '7', '8'));
79 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 9 "
80 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
81 , space
, '1', '2', '3', '4', '5', '6', '7', '8', '9'));
82 BOOST_TEST(test_delimited("1 2 3 4 5 6 7 8 9 0 "
83 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
84 , space
, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
88 using namespace boost::spirit::ascii
;
89 using boost::spirit::karma::delimit_flag
;
91 BOOST_TEST(test_predelimited(" 1 ", char_
, space
92 , delimit_flag::predelimit
, '1'));
93 BOOST_TEST(test_predelimited(" 1 2 "
94 , char_
<< char_
, space
, delimit_flag::predelimit
96 BOOST_TEST(test_predelimited(" 1 2 3 "
97 , char_
<< char_
<< char_
, space
98 , delimit_flag::predelimit
, '1', '2', '3'));
99 BOOST_TEST(test_predelimited(" 1 2 3 4 "
100 , char_
<< char_
<< char_
<< char_
101 , space
, delimit_flag::predelimit
, '1', '2', '3', '4'));
102 BOOST_TEST(test_predelimited(" 1 2 3 4 5 "
103 , char_
<< char_
<< char_
<< char_
<< char_
104 , space
, delimit_flag::predelimit
, '1', '2', '3', '4', '5'));
105 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 "
106 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
107 , space
, delimit_flag::predelimit
108 , '1', '2', '3', '4', '5', '6'));
109 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 "
110 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
111 , space
, delimit_flag::predelimit
112 , '1', '2', '3', '4', '5', '6', '7'));
113 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 "
114 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
115 , space
, delimit_flag::predelimit
116 , '1', '2', '3', '4', '5', '6', '7', '8'));
117 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 9 "
118 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
119 , space
, delimit_flag::predelimit
120 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
121 BOOST_TEST(test_predelimited(" 1 2 3 4 5 6 7 8 9 0 "
122 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
123 , space
, delimit_flag::predelimit
124 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
128 using namespace boost::spirit::ascii
;
129 using boost::spirit::karma::delimit_flag
;
131 BOOST_TEST(test_predelimited("1 ", char_
, space
132 , delimit_flag::dont_predelimit
, '1'));
133 BOOST_TEST(test_predelimited("1 2 "
134 , char_
<< char_
, space
, delimit_flag::dont_predelimit
136 BOOST_TEST(test_predelimited("1 2 3 "
137 , char_
<< char_
<< char_
, space
138 , delimit_flag::dont_predelimit
, '1', '2', '3'));
139 BOOST_TEST(test_predelimited("1 2 3 4 "
140 , char_
<< char_
<< char_
<< char_
141 , space
, delimit_flag::dont_predelimit
, '1', '2', '3', '4'));
142 BOOST_TEST(test_predelimited("1 2 3 4 5 "
143 , char_
<< char_
<< char_
<< char_
<< char_
144 , space
, delimit_flag::dont_predelimit
, '1', '2', '3', '4', '5'));
145 BOOST_TEST(test_predelimited("1 2 3 4 5 6 "
146 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
147 , space
, delimit_flag::dont_predelimit
148 , '1', '2', '3', '4', '5', '6'));
149 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 "
150 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
151 , space
, delimit_flag::dont_predelimit
152 , '1', '2', '3', '4', '5', '6', '7'));
153 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 "
154 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
155 , space
, delimit_flag::dont_predelimit
156 , '1', '2', '3', '4', '5', '6', '7', '8'));
157 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 9 "
158 , char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
<< char_
159 , space
, delimit_flag::dont_predelimit
160 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
161 BOOST_TEST(test_predelimited("1 2 3 4 5 6 7 8 9 0 "
162 , char_
<< 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', '0'));
167 return boost::report_errors();