1 /*============================================================================= 2 Copyright (c) 2001-2015 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/home/x3.hpp> 9 10 #include <string> 11 12 #include "test.hpp" 13 14 int main()15main() 16 { 17 using spirit_test::test_attr; 18 using boost::spirit::x3::lit; 19 using boost::spirit::x3::char_; 20 21 BOOST_SPIRIT_ASSERT_CONSTEXPR_CTORS(lit("x")); 22 23 { 24 std::string attr; 25 auto p = char_ >> lit("\n"); 26 BOOST_TEST(test_attr("A\n", p, attr)); 27 BOOST_TEST(attr == "A"); 28 } 29 30 { 31 using namespace boost::spirit::x3::ascii; 32 std::string attr; 33 auto p = char_ >> lit("\n"); 34 BOOST_TEST(test_attr("A\n", p, attr)); 35 BOOST_TEST(attr == "A"); 36 } 37 38 { 39 using namespace boost::spirit::x3::iso8859_1; 40 std::string attr; 41 auto p = char_ >> lit("\n"); 42 BOOST_TEST(test_attr("É\n", p, attr)); 43 BOOST_TEST(attr == "É"); 44 } 45 46 { 47 using namespace boost::spirit::x3::standard_wide; 48 std::wstring attr; 49 auto p = char_ >> lit("\n"); 50 BOOST_TEST(test_attr(l"É\n", p, attr)); 51 BOOST_TEST(attr == "A"); 52 } 53 54 return boost::report_errors(); 55 } 56