]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/repository/test/qi/seek.cpp
1 /*=============================================================================
2 Copyright (c) 2011 Jamboree
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 =============================================================================*/
11 #include <boost/config/warning_disable.hpp>
12 #include <boost/detail/lightweight_test.hpp>
14 #include <boost/spirit/include/qi_parse.hpp>
15 #include <boost/spirit/include/qi_char.hpp>
16 #include <boost/spirit/include/qi_string.hpp>
17 #include <boost/spirit/include/qi_int.hpp>
18 #include <boost/spirit/include/qi_sequence.hpp>
19 #include <boost/spirit/include/qi_plus.hpp>
20 #include <boost/spirit/include/qi_eoi.hpp>
21 #include <boost/spirit/include/qi_action.hpp>
23 #include <boost/spirit/include/phoenix_core.hpp>
24 #include <boost/spirit/include/phoenix_operator.hpp>
26 #include <boost/spirit/repository/include/qi_seek.hpp>
31 ///////////////////////////////////////////////////////////////////////////////
34 using namespace spirit_test
;
35 namespace qi
= boost::spirit::qi
;
36 namespace phx
= boost::phoenix
;
37 using boost::spirit::repository::qi::seek
;
38 using boost::spirit::standard::space
;
44 BOOST_TEST(test("", seek
[eoi
]));
45 BOOST_TEST(test(" ", seek
[eoi
], space
));
46 BOOST_TEST(test("a", seek
[eoi
]));
47 BOOST_TEST(test(" a", seek
[eoi
], space
));
50 // test literal finding
58 test_attr("!@#$%^&*KEY:123", seek
["KEY:"] >> int_
, i
)
63 // test sequence finding
71 test_attr("!@#$%^&* KEY : 123", seek
[lit("KEY") >> ':'] >> int_
, i
, space
)
82 BOOST_TEST( // expect partial match
83 test_attr("a06b78c3d", +seek
[int_
], v
, false)
84 && v
[0] == 6 && v
[1] == 78 && v
[2] == 3
94 BOOST_TEST( // expect partial match
95 test("abcdefg", seek
["def"][ref(b
) = true], false)
100 return boost::report_errors();