1 /*=============================================================================
2 Copyright (c) 2001-2010 Joel de Guzman
3
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 =============================================================================*/
7 #include <boost/detail/lightweight_test.hpp>
8 #include <boost/spirit/include/qi_directive.hpp>
9 #include <boost/spirit/include/qi_char.hpp>
10 #include <boost/spirit/include/qi_operator.hpp>
11 #include <boost/spirit/include/qi_nonterminal.hpp>
12
13 #include <iostream>
14 #include "test.hpp"
15
16 int
main()17 main()
18 {
19 using spirit_test::test;
20 using boost::spirit::ascii::space;
21 using boost::spirit::ascii::space_type;
22 using boost::spirit::ascii::digit;
23 using boost::spirit::qi::lexeme;
24 using boost::spirit::qi::rule;
25
26 {
27 BOOST_TEST((test(" 1 2 3 4 5", +digit, space)));
28 BOOST_TEST((!test(" 1 2 3 4 5", lexeme[+digit], space)));
29 BOOST_TEST((test(" 12345", lexeme[+digit], space)));
30 BOOST_TEST((test(" 12345 ", lexeme[+digit], space, false)));
31
32 rule<char const*, space_type> rr;
33 rule<char const*> r;
34 r = +digit;
35 rr = lexeme[r];
36 BOOST_TEST((!test(" 1 2 3 4 5", rr, space)));
37 BOOST_TEST((test(" 12345", rr, space)));
38 }
39
40 return boost::report_errors();
41 }
42