]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/qi/bool2.cpp
1 /*=============================================================================
2 Copyright (c) 2001-2011 Hartmut Kaiser
3 Copyright (c) 2011 Bryce Lelbach
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 ==============================================================================*/
13 using spirit_test::test_attr
;
14 using spirit_test::test
;
15 using boost::spirit::qi::bool_
;
16 using boost::spirit::qi::lit
;
17 using boost::spirit::qi::no_case
;
20 BOOST_TEST(test("true", bool_(true)));
21 BOOST_TEST(test("false", bool_(false)));
22 BOOST_TEST(!test("fasle", bool_(false)));
23 BOOST_TEST(!test("false", bool_(true)));
24 BOOST_TEST(!test("true", bool_(false)));
28 BOOST_TEST(test("True", no_case
[bool_(true)]));
29 BOOST_TEST(test("False", no_case
[bool_(false)]));
30 BOOST_TEST(test("TRUE", no_case
[bool_(true)]));
31 BOOST_TEST(test("FALSE", no_case
[bool_(false)]));
32 BOOST_TEST(!test("True", no_case
[bool_(false)]));
33 BOOST_TEST(!test("False", no_case
[bool_(true)]));
38 BOOST_TEST(test_attr("true", bool_(true), b
) && b
);
39 BOOST_TEST(test_attr("false", bool_(false), b
) && !b
);
40 BOOST_TEST(!test_attr("fasle", bool_(false), b
));
44 typedef boost::spirit::qi::bool_parser
<bool, backwards_bool_policies
>
46 backwards_bool_type
const backwards_bool
= backwards_bool_type();
48 BOOST_TEST(test("true", backwards_bool(true)));
49 BOOST_TEST(test("eurt", backwards_bool(false)));
50 BOOST_TEST(!test("true", backwards_bool(false)));
51 BOOST_TEST(!test("eurt", backwards_bool(true)));
55 using boost::phoenix::ref
;
56 bool n
= true, m
= false;
58 BOOST_TEST(test("true", bool_(ref(n
))));
59 BOOST_TEST(!test("true", bool_(ref(m
))));
63 BOOST_TEST(test("true", lit(true)));
64 BOOST_TEST(test("false", lit(false)));
65 BOOST_TEST(!test("fasle", lit(false)));
66 BOOST_TEST(!test("false", lit(true)));
67 BOOST_TEST(!test("true", lit(false)));
71 BOOST_TEST(test("True", no_case
[lit(true)]));
72 BOOST_TEST(test("False", no_case
[lit(false)]));
73 BOOST_TEST(test("TRUE", no_case
[lit(true)]));
74 BOOST_TEST(test("FALSE", no_case
[lit(false)]));
75 BOOST_TEST(!test("True", no_case
[lit(false)]));
76 BOOST_TEST(!test("False", no_case
[lit(true)]));
80 using boost::phoenix::ref
;
81 bool n
= true, m
= false;
83 BOOST_TEST(test("true", lit(ref(n
))));
84 BOOST_TEST(!test("true", lit(ref(m
))));
87 return boost::report_errors();