]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/classic/test/confix_tests.cpp
1 /*=============================================================================
2 Copyright (c) 2003 2003 Vaclav Vesely
3 http://spirit.sourceforge.net/
5 Use, modification and distribution is subject to the Boost Software
6 License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 http://www.boost.org/LICENSE_1_0.txt)
8 =============================================================================*/
9 #include <boost/spirit/include/classic_core.hpp>
10 #include <boost/spirit/include/classic_confix.hpp>
11 #include <boost/detail/lightweight_test.hpp>
13 using namespace boost
;
14 using namespace BOOST_SPIRIT_CLASSIC_NS
;
17 scanner
<char const*, scanner_policies
<skipper_iteration_policy
<> > >
24 void comment_nest_p_test()
26 rule_t r
= comment_nest_p('{', '}');
29 parse_info
<> info
= parse("{a{b}c{d}e}", r
, space_p
);
30 BOOST_TEST(info
.full
);
34 parse_info
<> info
= parse("{a{b}c{d}e}x", r
, space_p
);
36 BOOST_TEST(info
.length
== 11);
40 char const* str
= "x{a{b}c{d}e}";
41 parse_info
<> info
= parse(str
, r
, space_p
);
42 BOOST_TEST(!info
.hit
);
43 BOOST_TEST(info
.stop
== str
);
47 char const* str
= "{a{b}c{d}e";
48 parse_info
<> info
= parse(str
, r
, space_p
);
49 BOOST_TEST(!info
.hit
);
50 BOOST_TEST(info
.stop
== (str
+ 10));
57 comment_nest_p_test();
58 return boost::report_errors();