]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/karma/case_handling2.cpp
1 // Copyright (c) 2001-2010 Hartmut Kaiser
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #include <boost/config/warning_disable.hpp>
7 #include <boost/detail/lightweight_test.hpp>
8 #include <boost/detail/workaround.hpp>
10 #include <boost/spirit/include/karma_char.hpp>
11 #include <boost/spirit/include/karma_string.hpp>
12 #include <boost/spirit/include/karma_generate.hpp>
13 #include <boost/spirit/include/karma_directive.hpp>
17 using namespace spirit_test
;
19 ///////////////////////////////////////////////////////////////////////////////
23 using namespace boost::spirit
;
26 using namespace boost::spirit::standard_wide
;
28 BOOST_TEST(test(L
"x", lower
[L
'X']));
29 BOOST_TEST(test(L
"x", lower
[L
'x']));
31 BOOST_TEST(test(L
"x", lower
[char_
], L
'X'));
32 BOOST_TEST(test(L
"x", lower
[char_
], L
'x'));
33 BOOST_TEST(test(L
"x", lower
[char_(L
'X')]));
34 BOOST_TEST(test(L
"x", lower
[char_(L
'x')]));
36 BOOST_TEST(test(L
" ", lower
[space
]));
37 BOOST_TEST(test(L
"\t", lower
[space
], L
'\t'));
39 BOOST_TEST(test(L
"x", lower
[lower
[L
'X']]));
40 BOOST_TEST(test(L
"x", lower
[lower
[L
'x']]));
42 BOOST_TEST(test(L
"x", lower
[lower
[char_
]], L
'X'));
43 BOOST_TEST(test(L
"x", lower
[lower
[char_
]], L
'x'));
44 BOOST_TEST(test(L
"x", lower
[lower
[char_(L
'X')]]));
45 BOOST_TEST(test(L
"x", lower
[lower
[char_(L
'x')]]));
47 BOOST_TEST(test(L
" ", lower
[lower
[space
]]));
48 BOOST_TEST(test(L
"\t", lower
[lower
[space
]], L
'\t'));
50 BOOST_TEST(test(L
"X", upper
[lower
[L
'X']]));
51 BOOST_TEST(test(L
"X", upper
[lower
[L
'x']]));
53 BOOST_TEST(test(L
"X", upper
[lower
[char_
]], L
'X'));
54 BOOST_TEST(test(L
"X", upper
[lower
[char_
]], L
'x'));
55 BOOST_TEST(test(L
"X", upper
[lower
[char_(L
'X')]]));
56 BOOST_TEST(test(L
"X", upper
[lower
[char_(L
'x')]]));
58 BOOST_TEST(test(L
" ", upper
[lower
[space
]]));
59 BOOST_TEST(test(L
"\t", upper
[lower
[space
]], L
'\t'));
61 BOOST_TEST(test(L
"X", upper
[L
'X']));
62 BOOST_TEST(test(L
"X", upper
[L
'x']));
64 BOOST_TEST(test(L
"X", upper
[char_
], L
'X'));
65 BOOST_TEST(test(L
"X", upper
[char_
], L
'x'));
66 BOOST_TEST(test(L
"X", upper
[char_(L
'X')]));
67 BOOST_TEST(test(L
"X", upper
[char_(L
'x')]));
69 BOOST_TEST(test(L
" ", upper
[space
]));
70 BOOST_TEST(test(L
"\t", upper
[space
], L
'\t'));
72 BOOST_TEST(test(L
"x", lower
[upper
[L
'X']]));
73 BOOST_TEST(test(L
"x", lower
[upper
[L
'x']]));
75 BOOST_TEST(test(L
"x", lower
[upper
[char_
]], L
'X'));
76 BOOST_TEST(test(L
"x", lower
[upper
[char_
]], L
'x'));
77 BOOST_TEST(test(L
"x", lower
[upper
[char_(L
'X')]]));
78 BOOST_TEST(test(L
"x", lower
[upper
[char_(L
'x')]]));
80 BOOST_TEST(test(L
" ", lower
[upper
[space
]]));
81 BOOST_TEST(test(L
"\t", lower
[upper
[space
]], L
'\t'));
83 BOOST_TEST(test(L
"X", upper
[upper
[L
'X']]));
84 BOOST_TEST(test(L
"X", upper
[upper
[L
'x']]));
86 BOOST_TEST(test(L
"X", upper
[upper
[char_
]], L
'X'));
87 BOOST_TEST(test(L
"X", upper
[upper
[char_
]], L
'x'));
88 BOOST_TEST(test(L
"X", upper
[upper
[char_(L
'X')]]));
89 BOOST_TEST(test(L
"X", upper
[upper
[char_(L
'x')]]));
91 BOOST_TEST(test(L
" ", upper
[upper
[space
]]));
92 BOOST_TEST(test(L
"\t", upper
[upper
[space
]], L
'\t'));
95 { // test extended ASCII characters
96 using namespace boost::spirit::iso8859_1
;
98 BOOST_TEST(test("\xE4\xE4", lower
["\xC4\xE4"]));
99 BOOST_TEST(test("\xE4\xE4", lower
["\xC4\xE4"]));
101 BOOST_TEST(test("\xC4\xC4", upper
["\xC4\xE4"]));
102 BOOST_TEST(test("\xC4\xC4", upper
["\xC4\xE4"]));
106 using namespace boost::spirit::ascii
;
107 using boost::phoenix::val
;
109 BOOST_TEST(test("x", lower
[val('X')]));
110 BOOST_TEST(test("x", lower
[val('x')]));
113 return boost::report_errors();