1 | /*============================================================================= |
---|---|
2 | Copyright (c) 2001-2011 Joel de Guzman |
3 | http://spirit.sourceforge.net/ |
4 | |
5 | Distributed under the Boost Software License, Version 1.0. (See accompanying |
6 | file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
7 | =============================================================================*/ |
8 | |
9 | #include <boost/spirit/include/qi_char.hpp> |
10 | #include <boost/spirit/include/qi_string.hpp> |
11 | #include <boost/spirit/include/qi_directive.hpp> |
12 | #include <boost/spirit/include/qi_action.hpp> |
13 | #include <boost/phoenix/core.hpp> |
14 | #include <boost/phoenix/operator.hpp> |
15 | |
16 | #include <iostream> |
17 | #include "test.hpp" |
18 | |
19 | int |
20 | main() |
21 | { |
22 | using spirit_test::test; |
23 | using spirit_test::test_attr; |
24 | using boost::spirit::qi::lit; |
25 | using boost::spirit::qi::no_case; |
26 | using boost::spirit::qi::char_; |
27 | using boost::spirit::qi::encoding; |
28 | namespace char_encoding = boost::spirit::char_encoding; |
29 | |
30 | encoding<char_encoding::iso8859_1> iso8859_1; |
31 | |
32 | { // test extended ASCII characters |
33 | BOOST_TEST(test("\xC1", iso8859_1[no_case['\xE1']])); |
34 | BOOST_TEST(test("\xC1", iso8859_1[no_case[char_('\xE1')]])); |
35 | |
36 | BOOST_TEST(test("\xC9", iso8859_1[no_case[char_( "\xE5-\xEF")]])); |
37 | BOOST_TEST(!test("\xFF", iso8859_1[no_case[char_( "\xE5-\xEF")]])); |
38 | |
39 | BOOST_TEST(test("\xC1\xE1", iso8859_1[no_case[ "\xE1\xC1"]])); |
40 | BOOST_TEST(test("\xC1\xE1", iso8859_1[no_case[lit( "\xE1\xC1")]])); |
41 | } |
42 | |
43 | return boost::report_errors(); |
44 | } |
45 |