• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include <boost/spirit/include/karma_upper_lower_case.hpp>
15 
16 #include "test.hpp"
17 
18 ///////////////////////////////////////////////////////////////////////////////
19 int
main()20 main()
21 {
22     using namespace spirit_test;
23     using namespace boost::spirit;
24     using namespace boost::spirit::ascii;
25 
26     {
27         BOOST_TEST(test("x         ", left_align[char_('x')]));
28         BOOST_TEST(test("x         ", left_align[char_], 'x'));
29         BOOST_TEST(test("x         ", left_align['x']));
30 
31         BOOST_TEST(test("x         ", left_align(10)[char_('x')]));
32         BOOST_TEST(test("x         ", left_align(10)[char_], 'x'));
33         BOOST_TEST(test("x         ", left_align(10)['x']));
34 
35         BOOST_TEST(test("x*********", left_align(10, char_('*'))[char_('x')]));
36         BOOST_TEST(test("x*********", left_align(10, '*')[char_], 'x'));
37         BOOST_TEST(test("x*********", left_align(10, '*')['x']));
38         BOOST_TEST(test("xaaaaaaaaa", lower[left_align(10, 'A')['X']]));
39         BOOST_TEST(test("XAAAAAAAAA", upper[left_align(10, 'a')['x']]));
40 
41         BOOST_TEST(test("x*********", left_align(char_('*'))[char_('x')]));
42         BOOST_TEST(test("x*********", left_align(char_('*'))[char_], 'x'));
43         BOOST_TEST(test("x*********", left_align(char_('*'))['x']));
44 
45         BOOST_TEST(test("abc       ", left_align[lit("abc")]));
46         BOOST_TEST(test("abc       ", left_align[string], "abc"));
47 
48         BOOST_TEST(test("abc       ", left_align(10)[lit("abc")]));
49         BOOST_TEST(test("abc       ", left_align(10)[string], "abc"));
50         BOOST_TEST(test("abc       ", left_align(10)["abc"]));
51 
52         BOOST_TEST(test("abc*******", left_align(10, char_('*'))[lit("abc")]));
53         BOOST_TEST(test("abc*******", left_align(10, '*')[string], "abc"));
54         BOOST_TEST(test("abc*******", left_align(10, '*')["abc"]));
55 
56         BOOST_TEST(test("abc*******", left_align(char_('*'))[lit("abc")]));
57         BOOST_TEST(test("abc*******", left_align(char_('*'))[string], "abc"));
58         BOOST_TEST(test("abc*******", left_align(char_('*'))["abc"]));
59 
60         BOOST_TEST(test("100       ", left_align[int_(100)]));
61         BOOST_TEST(test("100       ", left_align[int_], 100));
62 
63         BOOST_TEST(test("100       ", left_align(10)[int_(100)]));
64         BOOST_TEST(test("100       ", left_align(10)[int_], 100));
65 
66         BOOST_TEST(test("100*******", left_align(10, char_('*'))[int_(100)]));
67         BOOST_TEST(test("100*******", left_align(10, '*')[int_], 100));
68 
69         BOOST_TEST(test("100*******", left_align(char_('*'))[int_(100)]));
70         BOOST_TEST(test("100*******", left_align(char_('*'))[int_], 100));
71     }
72 
73     return boost::report_errors();
74 }
75