]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/x3/no_case.cpp
1 /*=============================================================================
2 Copyright (c) 2001-2015 Joel de Guzman
3 http://spirit.sourceforge.net/
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 =============================================================================*/
9 #include <boost/detail/lightweight_test.hpp>
10 #include <boost/spirit/home/x3.hpp>
18 using spirit_test::test
;
19 using spirit_test::test_attr
;
20 using boost::spirit::x3::no_case
;
23 using namespace boost::spirit::x3::ascii
;
24 BOOST_TEST(test("x", no_case
[char_
]));
25 BOOST_TEST(test("X", no_case
[char_('x')]));
26 BOOST_TEST(test("X", no_case
[char_('X')]));
27 BOOST_TEST(test("x", no_case
[char_('X')]));
28 BOOST_TEST(test("x", no_case
[char_('x')]));
29 BOOST_TEST(!test("z", no_case
[char_('X')]));
30 BOOST_TEST(!test("z", no_case
[char_('x')]));
31 BOOST_TEST(test("x", no_case
[char_('a', 'z')]));
32 BOOST_TEST(test("X", no_case
[char_('a', 'z')]));
33 BOOST_TEST(!test("a", no_case
[char_('b', 'z')]));
34 BOOST_TEST(!test("z", no_case
[char_('a', 'y')]));
37 using namespace boost::spirit::x3::ascii
;
38 BOOST_TEST(test("X", no_case
['x']));
39 BOOST_TEST(test("X", no_case
['X']));
40 BOOST_TEST(test("x", no_case
['X']));
41 BOOST_TEST(test("x", no_case
['x']));
42 BOOST_TEST(!test("z", no_case
['X']));
43 BOOST_TEST(!test("z", no_case
['x']));
47 using namespace boost::spirit::x3::iso8859_1
;
48 BOOST_TEST(test("X", no_case
[char_("a-z")]));
49 BOOST_TEST(!test("1", no_case
[char_("a-z")]));
52 { // test extended ASCII characters
53 using namespace boost::spirit::x3::iso8859_1
;
54 BOOST_TEST(test("\xC1", no_case
[char_('\xE1')]));
56 BOOST_TEST(test("\xC9", no_case
[char_("\xE5-\xEF")]));
57 BOOST_TEST(!test("\xFF", no_case
[char_("\xE5-\xEF")]));
59 BOOST_TEST(test("\xC1\xE1", no_case
[lit("\xE1\xC1")]));
60 BOOST_TEST(test("\xE1\xE1", no_case
[no_case
[lit("\xE1\xC1")]]));
64 using namespace boost::spirit::x3::ascii
;
65 BOOST_TEST(test("Bochi Bochi", no_case
[lit("bochi bochi")]));
66 BOOST_TEST(test("BOCHI BOCHI", no_case
[lit("bochi bochi")]));
67 BOOST_TEST(!test("Vavoo", no_case
[lit("bochi bochi")]));
72 using namespace boost::spirit::x3::ascii
;
73 BOOST_TEST(test("x", no_case
[no_case
[char_
]]));
74 BOOST_TEST(test("x", no_case
[no_case
[char_('x')]]));
75 BOOST_TEST(test("yabadabadoo", no_case
[no_case
[lit("Yabadabadoo")]]));
79 using namespace boost::spirit::x3::ascii
;
80 BOOST_TEST(test("X", no_case
[alnum
]));
81 BOOST_TEST(test("6", no_case
[alnum
]));
82 BOOST_TEST(!test(":", no_case
[alnum
]));
84 BOOST_TEST(test("X", no_case
[lower
]));
85 BOOST_TEST(test("x", no_case
[lower
]));
86 BOOST_TEST(test("X", no_case
[upper
]));
87 BOOST_TEST(test("x", no_case
[upper
]));
88 BOOST_TEST(!test(":", no_case
[lower
]));
89 BOOST_TEST(!test(":", no_case
[upper
]));
93 using namespace boost::spirit::x3::iso8859_1
;
94 BOOST_TEST(test("X", no_case
[alnum
]));
95 BOOST_TEST(test("6", no_case
[alnum
]));
96 BOOST_TEST(!test(":", no_case
[alnum
]));
98 BOOST_TEST(test("X", no_case
[lower
]));
99 BOOST_TEST(test("x", no_case
[lower
]));
100 BOOST_TEST(test("X", no_case
[upper
]));
101 BOOST_TEST(test("x", no_case
[upper
]));
102 BOOST_TEST(!test(":", no_case
[lower
]));
103 BOOST_TEST(!test(":", no_case
[upper
]));
107 using namespace boost::spirit::x3::standard
;
108 BOOST_TEST(test("X", no_case
[alnum
]));
109 BOOST_TEST(test("6", no_case
[alnum
]));
110 BOOST_TEST(!test(":", no_case
[alnum
]));
112 BOOST_TEST(test("X", no_case
[lower
]));
113 BOOST_TEST(test("x", no_case
[lower
]));
114 BOOST_TEST(test("X", no_case
[upper
]));
115 BOOST_TEST(test("x", no_case
[upper
]));
116 BOOST_TEST(!test(":", no_case
[lower
]));
117 BOOST_TEST(!test(":", no_case
[upper
]));
122 namespace standard
= boost::spirit::x3::standard
;
123 namespace standard_wide
= boost::spirit::x3::standard_wide
;
125 BOOST_TEST(test("x", no_case
[standard::char_("a-z")]));
126 BOOST_TEST(test("X", no_case
[standard::char_("a-z")]));
127 BOOST_TEST(test(L
"X", no_case
[standard_wide::char_(L
"a-z")]));
128 BOOST_TEST(test(L
"X", no_case
[standard_wide::char_(L
"X")]));
132 using namespace boost::spirit::x3::standard
;
133 std::string
s("bochi bochi");
134 BOOST_TEST(test("Bochi Bochi", no_case
[lit(s
.c_str())]));
135 BOOST_TEST(test("Bochi Bochi", no_case
[lit(s
)]));
136 BOOST_TEST(test("Bochi Bochi", no_case
[s
.c_str()]));
137 BOOST_TEST(test("Bochi Bochi", no_case
[s
]));
142 using namespace boost::spirit::x3::standard
;
143 BOOST_TEST(!test("ą", no_case
['a']));
147 return boost::report_errors();