Titles level 1, that is ``.SH``, always uppercase.
[docutils.git] / test / test_writers / test_manpage.py
blob98d271bde4d1ea377f3ebb953ec4532ba7a6853a
1 #! /usr/bin/env python
3 # $Id: test_latex2e.py 6003 2009-06-27 20:44:09Z milde $
4 # Author: engelbert gruber <grubert@users.sourceforge.net>
5 # Copyright: This module has been placed in the public domain.
7 """
8 Tests for manpage writer.
9 """
11 from __init__ import DocutilsTestSupport
13 from docutils._compat import b
15 def suite():
16 settings = {}
17 s = DocutilsTestSupport.PublishTestSuite('manpage', suite_settings=settings)
18 s.generateTests(totest)
19 return s
21 indend_macros = r""".
22 .nr rst2man-indent-level 0
24 .de1 rstReportMargin
25 \\$1 \\n[an-margin]
26 level \\n[rst2man-indent-level]
27 level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 \\n[rst2man-indent0]
30 \\n[rst2man-indent1]
31 \\n[rst2man-indent2]
33 .de1 INDENT
34 .\" .rstReportMargin pre:
35 . RS \\$1
36 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
37 . nr rst2man-indent-level +1
38 .\" .rstReportMargin post:
40 .de UNINDENT
41 . RE
42 .\" indent \\n[an-margin]
43 .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
44 .nr rst2man-indent-level -1
45 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
46 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
48 """
50 totest = {}
52 totest['blank'] = [
53 ["",
54 r""".TH "" "" ""
55 .SH NAME
56 \-
57 .\" Man page generated from reStructeredText.
59 .\" Generated by docutils manpage writer.
60 .\"
62 """],
65 totest['simple'] = [
66 ["""\
67 ========
68 simple
69 ========
71 ---------------
72 The way to go
73 ---------------
75 :Author: someone@somewhere.net
76 :Date: 2009-08-05
77 :Copyright: public domain
78 :Version: 0.1
79 :Manual section: 1
80 :Manual group: text processing
81 :Arbitrary field: some text
83 SYNOPSIS
84 ========
88 K.I.S.S keep it simple.
90 DESCRIPTION
91 ===========
93 General rule of life.
95 OPTIONS
96 =======
98 --config=<file> Read configuration settings from <file>, if it exists.
99 --version, -V Show this program's version number and exit.
100 --help, -h Show this help message and exit.
102 OTHER SECTION
103 =============
105 With mixed case.
106 """,
107 r""".\" Man page generated from reStructeredText.
109 .TH SIMPLE 1 "2009-08-05" "0.1" "text processing"
110 .SH NAME
111 simple \- The way to go
112 """+indend_macros+
113 r""".SH SYNOPSIS
116 .ft C
117 K.I.S.S keep it simple.
118 .ft P
120 .SH DESCRIPTION
122 General rule of life.
123 .SH OPTIONS
124 .INDENT 0.0
126 .BI \-\-config\fB= <file>
128 Read configuration settings from <file>, if it exists.
130 .B \-\-version, \-V
132 Show this program\(aqs version number and exit.
134 .B \-\-help, \-h
136 Show this help message and exit.
137 .UNINDENT
138 .SH OTHER SECTION
140 With mixed case.
141 .SH AUTHOR
142 someone@somewhere.net
144 Arbitrary field: some text
145 .SH COPYRIGHT
146 public domain
147 .\" Generated by docutils manpage writer.
148 .\"
150 """],
153 totest['table'] = [
154 ["""\
155 ====== =====
156 head and
157 ====== =====
159 abc so
160 ====== =====
161 """,
162 '''\
163 .TH "" "" ""
164 .SH NAME
165 \\- \n\
166 .\\" Man page generated from reStructeredText.
168 .INDENT 0.0
169 .INDENT 3.5
171 center;
172 |l|l|.
175 head
176 T}\tT{
182 T}\tT{
188 T}\tT{
193 .UNINDENT
194 .UNINDENT
195 .\\" Generated by docutils manpage writer.
196 .\\"
198 ''']
201 if __name__ == '__main__':
202 import unittest
203 unittest.main(defaultTest='suite')