1 // Copyright (c) 2001-2011 Hartmut Kaiser
2 //
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)
5
6 #include <boost/config/warning_disable.hpp>
7 #include <boost/detail/lightweight_test.hpp>
8
9 #include <boost/spirit/include/karma_char.hpp>
10 #include <boost/spirit/include/karma_string.hpp>
11 #include <boost/spirit/include/karma_numeric.hpp>
12 #include <boost/spirit/include/karma_generate.hpp>
13 #include <boost/spirit/include/karma_directive.hpp>
14
15 #include "test.hpp"
16
17 ///////////////////////////////////////////////////////////////////////////////
18 int
main()19 main()
20 {
21 using namespace spirit_test;
22 using namespace boost::spirit;
23 using namespace boost::spirit::ascii;
24
25 {
26 BOOST_TEST(test(" x", right_align[char_('x')]));
27 BOOST_TEST(test(" x", right_align[char_], 'x'));
28 BOOST_TEST(test(" x", right_align['x']));
29
30 BOOST_TEST(test(" x", right_align(10)[char_('x')]));
31 BOOST_TEST(test(" x", right_align(10)[char_], 'x'));
32 BOOST_TEST(test(" x", right_align(10)['x']));
33
34 BOOST_TEST(test("*********x", right_align(10, char_('*'))[char_('x')]));
35 BOOST_TEST(test("*********x", right_align(10, '*')[char_], 'x'));
36 BOOST_TEST(test("*********x", right_align(10, '*')['x']));
37
38 BOOST_TEST(test("*********x", right_align(char_('*'))[char_('x')]));
39 BOOST_TEST(test("*********x", right_align(char_('*'))[char_], 'x'));
40 BOOST_TEST(test("*********x", right_align(char_('*'))['x']));
41
42 BOOST_TEST(test(" abc", right_align[lit("abc")]));
43 BOOST_TEST(test(" abc", right_align[string], "abc"));
44
45 BOOST_TEST(test(" abc", right_align(10)[lit("abc")]));
46 BOOST_TEST(test(" abc", right_align(10)[string], "abc"));
47 BOOST_TEST(test(" abc", right_align(10)["abc"]));
48
49 BOOST_TEST(test("*******abc", right_align(10, char_('*'))[lit("abc")]));
50 BOOST_TEST(test("*******abc", right_align(10, '*')[string], "abc"));
51 BOOST_TEST(test("*******abc", right_align(10, '*')["abc"]));
52
53 BOOST_TEST(test("*******abc", right_align(char_('*'))[lit("abc")]));
54 BOOST_TEST(test("*******abc", right_align(char_('*'))[string], "abc"));
55 BOOST_TEST(test("*******abc", right_align(char_('*'))["abc"]));
56
57 BOOST_TEST(test(" 100", right_align[int_(100)]));
58 BOOST_TEST(test(" 100", right_align[int_], 100));
59
60 BOOST_TEST(test(" 100", right_align(10)[int_(100)]));
61 BOOST_TEST(test(" 100", right_align(10)[int_], 100));
62
63 BOOST_TEST(test("*******100", right_align(10, char_('*'))[int_(100)]));
64 BOOST_TEST(test("*******100", right_align(10, '*')[int_], 100));
65
66 BOOST_TEST(test("*******100", right_align(char_('*'))[int_(100)]));
67 BOOST_TEST(test("*******100", right_align(char_('*'))[int_], 100));
68 }
69
70 return boost::report_errors();
71 }
72