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 // this file intentionally contains non-ascii characters 10 // boostinspect:noascii 11 12 #include <boost/detail/lightweight_test.hpp> 13 #include <boost/spirit/include/qi_char.hpp> 14 #include <boost/spirit/include/qi_string.hpp> 15 #include <boost/spirit/include/qi_directive.hpp> 16 #include <boost/spirit/include/qi_action.hpp> 17 #include <boost/spirit/include/phoenix_core.hpp> 18 #include <boost/spirit/include/phoenix_operator.hpp> 19 20 #include <iostream> 21 #include "test.hpp" 22 23 int main()24main() 25 { 26 using spirit_test::test; 27 using spirit_test::test_attr; 28 using boost::spirit::qi::lit; 29 using boost::spirit::qi::no_case; 30 using boost::spirit::qi::char_; 31 using boost::spirit::qi::encoding; 32 namespace char_encoding = boost::spirit::char_encoding; 33 34 encoding<char_encoding::iso8859_1> iso8859_1; 35 36 // needed for VC7.1 only 37 #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) 38 #pragma setlocale("french") 39 #endif 40 41 { 42 BOOST_TEST(test("�", iso8859_1[no_case['�']])); 43 BOOST_TEST(test("�", iso8859_1[no_case[char_('�')]])); 44 } 45 46 { 47 BOOST_TEST(test("�", iso8859_1[no_case[char_("�-�")]])); 48 BOOST_TEST(!test("�", iso8859_1[no_case[char_("�-�")]])); 49 } 50 51 { 52 BOOST_TEST(test("��", iso8859_1[no_case["��"]])); 53 BOOST_TEST(test("��", iso8859_1[no_case[lit("��")]])); 54 } 55 56 57 #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) 58 #pragma setlocale("") 59 #endif 60 61 return boost::report_errors(); 62 } 63