• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()15 main()
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