]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/qi/match_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 SPIRIT_ARGUMENTS_LIMIT 10
8 #include <boost/config/warning_disable.hpp>
9 #include <boost/detail/lightweight_test.hpp>
11 #include <boost/spirit/include/qi_char.hpp>
12 #include <boost/spirit/include/qi_operator.hpp>
13 #include <boost/spirit/include/qi_parse.hpp>
15 #include "test_manip_attr.hpp"
17 using namespace spirit_test
;
19 ///////////////////////////////////////////////////////////////////////////////
22 using namespace boost::spirit
;
25 using namespace boost::spirit::ascii
;
27 BOOST_TEST(test("1", char_
, '1'));
28 BOOST_TEST(test("12", char_
>> char_
, '1', '2'));
29 BOOST_TEST(test("123", char_
>> char_
>> char_
, '1', '2', '3'));
30 BOOST_TEST(test("1234"
31 , char_
>> char_
>> char_
>> char_
32 , '1', '2', '3', '4'));
33 BOOST_TEST(test("12345"
34 , char_
>> char_
>> char_
>> char_
>> char_
35 , '1', '2', '3', '4', '5'));
36 BOOST_TEST(test("123456"
37 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
38 , '1', '2', '3', '4', '5', '6'));
39 BOOST_TEST(test("1234567"
40 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
41 , '1', '2', '3', '4', '5', '6', '7'));
42 BOOST_TEST(test("12345678"
43 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
44 , '1', '2', '3', '4', '5', '6', '7', '8'));
45 BOOST_TEST(test("123456789"
46 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
47 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
48 BOOST_TEST(test("1234567890"
49 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
50 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
54 using namespace boost::spirit::ascii
;
56 BOOST_TEST(test_skipped(" 1 ", char_
, space
, '1'));
57 BOOST_TEST(test_skipped(" 1 2 "
58 , char_
>> char_
, space
, '1', '2'));
59 BOOST_TEST(test_skipped(" 1 2 3 "
60 , char_
>> char_
>> char_
, space
, '1', '2', '3'));
61 BOOST_TEST(test_skipped(" 1 2 3 4 "
62 , char_
>> char_
>> char_
>> char_
63 , space
, '1', '2', '3', '4'));
64 BOOST_TEST(test_skipped(" 1 2 3 4 5 "
65 , char_
>> char_
>> char_
>> char_
>> char_
66 , space
, '1', '2', '3', '4', '5'));
67 BOOST_TEST(test_skipped(" 1 2 3 4 5 6 "
68 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
69 , space
, '1', '2', '3', '4', '5', '6'));
70 BOOST_TEST(test_skipped(" 1 2 3 4 5 6 7 "
71 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
72 , space
, '1', '2', '3', '4', '5', '6', '7'));
73 BOOST_TEST(test_skipped(" 1 2 3 4 5 6 7 8 "
74 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
75 , space
, '1', '2', '3', '4', '5', '6', '7', '8'));
76 BOOST_TEST(test_skipped(" 1 2 3 4 5 6 7 8 9 "
77 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
78 , space
, '1', '2', '3', '4', '5', '6', '7', '8', '9'));
79 BOOST_TEST(test_skipped(" 1 2 3 4 5 6 7 8 9 0 "
80 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
81 , space
, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
85 using namespace boost::spirit::ascii
;
86 using boost::spirit::qi::skip_flag
;
88 BOOST_TEST(test_postskipped(" 1 ", char_
, space
89 , skip_flag::postskip
, '1'));
90 BOOST_TEST(test_postskipped(" 1 2 "
91 , char_
>> char_
, space
, skip_flag::postskip
93 BOOST_TEST(test_postskipped(" 1 2 3 "
94 , char_
>> char_
>> char_
, space
95 , skip_flag::postskip
, '1', '2', '3'));
96 BOOST_TEST(test_postskipped(" 1 2 3 4 "
97 , char_
>> char_
>> char_
>> char_
98 , space
, skip_flag::postskip
, '1', '2', '3', '4'));
99 BOOST_TEST(test_postskipped(" 1 2 3 4 5 "
100 , char_
>> char_
>> char_
>> char_
>> char_
101 , space
, skip_flag::postskip
, '1', '2', '3', '4', '5'));
102 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 "
103 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
104 , space
, skip_flag::postskip
105 , '1', '2', '3', '4', '5', '6'));
106 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7 "
107 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
108 , space
, skip_flag::postskip
109 , '1', '2', '3', '4', '5', '6', '7'));
110 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7 8 "
111 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
112 , space
, skip_flag::postskip
113 , '1', '2', '3', '4', '5', '6', '7', '8'));
114 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7 8 9 "
115 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
116 , space
, skip_flag::postskip
117 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
118 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7 8 9 0 "
119 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
120 , space
, skip_flag::postskip
121 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
125 using namespace boost::spirit::ascii
;
126 using boost::spirit::qi::skip_flag
;
128 BOOST_TEST(test_postskipped(" 1", char_
, space
129 , skip_flag::dont_postskip
, '1'));
130 BOOST_TEST(test_postskipped(" 1 2"
131 , char_
>> char_
, space
, skip_flag::dont_postskip
133 BOOST_TEST(test_postskipped(" 1 2 3"
134 , char_
>> char_
>> char_
, space
135 , skip_flag::dont_postskip
, '1', '2', '3'));
136 BOOST_TEST(test_postskipped(" 1 2 3 4"
137 , char_
>> char_
>> char_
>> char_
138 , space
, skip_flag::dont_postskip
, '1', '2', '3', '4'));
139 BOOST_TEST(test_postskipped(" 1 2 3 4 5"
140 , char_
>> char_
>> char_
>> char_
>> char_
141 , space
, skip_flag::dont_postskip
, '1', '2', '3', '4', '5'));
142 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6"
143 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
144 , space
, skip_flag::dont_postskip
145 , '1', '2', '3', '4', '5', '6'));
146 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7"
147 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
148 , space
, skip_flag::dont_postskip
149 , '1', '2', '3', '4', '5', '6', '7'));
150 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7 8"
151 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
152 , space
, skip_flag::dont_postskip
153 , '1', '2', '3', '4', '5', '6', '7', '8'));
154 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7 8 9"
155 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
156 , space
, skip_flag::dont_postskip
157 , '1', '2', '3', '4', '5', '6', '7', '8', '9'));
158 BOOST_TEST(test_postskipped(" 1 2 3 4 5 6 7 8 9 0"
159 , char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
>> char_
160 , space
, skip_flag::dont_postskip
161 , '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'));
164 return boost::report_errors();