You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
362 lines
5.5 KiB
362 lines
5.5 KiB
#! /usr/bin/env python |
|
|
|
# $Id: test_latex2e.py 6003 2009-06-27 20:44:09Z milde $ |
|
# Author: engelbert gruber <grubert@users.sourceforge.net> |
|
# Copyright: This module has been placed in the public domain. |
|
|
|
""" |
|
Tests for manpage writer. |
|
""" |
|
|
|
from __init__ import DocutilsTestSupport |
|
|
|
from docutils._compat import b |
|
|
|
def suite(): |
|
settings = {} |
|
s = DocutilsTestSupport.PublishTestSuite('manpage', suite_settings=settings) |
|
s.generateTests(totest) |
|
return s |
|
|
|
indend_macros = r""". |
|
.nr rst2man-indent-level 0 |
|
. |
|
.de1 rstReportMargin |
|
\\$1 \\n[an-margin] |
|
level \\n[rst2man-indent-level] |
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] |
|
- |
|
\\n[rst2man-indent0] |
|
\\n[rst2man-indent1] |
|
\\n[rst2man-indent2] |
|
.. |
|
.de1 INDENT |
|
.\" .rstReportMargin pre: |
|
. RS \\$1 |
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] |
|
. nr rst2man-indent-level +1 |
|
.\" .rstReportMargin post: |
|
.. |
|
.de UNINDENT |
|
. RE |
|
.\" indent \\n[an-margin] |
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] |
|
.nr rst2man-indent-level -1 |
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] |
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u |
|
.. |
|
""" |
|
|
|
totest = {} |
|
|
|
totest['blank'] = [ |
|
["", |
|
r""".\" Man page generated from reStructuredText. |
|
. |
|
.TH "" "" "" |
|
.SH NAME |
|
\- |
|
"""+indend_macros+ |
|
r""".\" Generated by docutils manpage writer. |
|
. |
|
"""], |
|
[r"""Hello, world. |
|
============= |
|
|
|
.. WARNING:: |
|
This broke docutils-sphinx. |
|
|
|
""", |
|
r""".\" Man page generated from reStructuredText. |
|
. |
|
.TH HELLO, WORLD. "" "" "" |
|
.SH NAME |
|
Hello, world. \- |
|
"""+indend_macros+ |
|
r""".sp |
|
\fBWARNING:\fP |
|
.INDENT 0.0 |
|
.INDENT 3.5 |
|
This broke docutils\-sphinx. |
|
.UNINDENT |
|
.UNINDENT |
|
.\" Generated by docutils manpage writer. |
|
. |
|
"""], |
|
] |
|
|
|
totest['simple'] = [ |
|
["""\ |
|
======== |
|
simple |
|
======== |
|
|
|
--------------- |
|
The way to go |
|
--------------- |
|
|
|
:Author: someone@somewhere.net |
|
:Date: 2009-08-05 |
|
:Copyright: public domain |
|
:Version: 0.1 |
|
:Manual section: 1 |
|
:Manual group: text processing |
|
:Arbitrary field: some text |
|
|
|
SYNOPSIS |
|
======== |
|
|
|
:: |
|
|
|
K.I.S.S keep it simple. |
|
|
|
DESCRIPTION |
|
=========== |
|
|
|
General rule of life. |
|
|
|
OPTIONS |
|
======= |
|
|
|
--config=<file> Read configuration settings from <file>, if it exists. |
|
--version, -V Show this program's version number and exit. |
|
--help, -h Show this help message and exit. |
|
|
|
OtHeR SECTION |
|
============= |
|
|
|
With mixed case. |
|
|
|
.. Attention:: |
|
|
|
Admonition with title |
|
|
|
* bullet list |
|
* bull and list |
|
|
|
.. admonition:: homegrown |
|
|
|
something important |
|
|
|
. period at line start. |
|
""", |
|
r""".\" Man page generated from reStructuredText. |
|
. |
|
.TH SIMPLE 1 "2009-08-05" "0.1" "text processing" |
|
.SH NAME |
|
simple \- The way to go |
|
"""+indend_macros+ |
|
r""".SH SYNOPSIS |
|
.INDENT 0.0 |
|
.INDENT 3.5 |
|
.sp |
|
.nf |
|
.ft C |
|
K.I.S.S keep it simple. |
|
.ft P |
|
.fi |
|
.UNINDENT |
|
.UNINDENT |
|
.SH DESCRIPTION |
|
.sp |
|
General rule of life. |
|
.SH OPTIONS |
|
.INDENT 0.0 |
|
.TP |
|
.BI \-\-config\fB= <file> |
|
Read configuration settings from <file>, if it exists. |
|
.TP |
|
.B \-\-version\fP,\fB \-V |
|
Show this program\(aqs version number and exit. |
|
.TP |
|
.B \-\-help\fP,\fB \-h |
|
Show this help message and exit. |
|
.UNINDENT |
|
.SH OTHER SECTION |
|
.sp |
|
With mixed case. |
|
.sp |
|
\fBATTENTION!:\fP |
|
.INDENT 0.0 |
|
.INDENT 3.5 |
|
Admonition with title |
|
.INDENT 0.0 |
|
.IP \(bu 2 |
|
bullet list |
|
.IP \(bu 2 |
|
bull and list |
|
.UNINDENT |
|
.UNINDENT |
|
.UNINDENT |
|
.INDENT 0.0 |
|
.INDENT 3.5 |
|
.IP "homegrown" |
|
.sp |
|
something important |
|
.UNINDENT |
|
.UNINDENT |
|
.sp |
|
\&. period at line start. |
|
.SH AUTHOR |
|
someone@somewhere.net |
|
|
|
Arbitrary field: some text |
|
.SH COPYRIGHT |
|
public domain |
|
.\" Generated by docutils manpage writer. |
|
. |
|
"""], |
|
] |
|
|
|
totest['table'] = [ |
|
["""\ |
|
====== ===== |
|
head and |
|
====== ===== |
|
1 2 |
|
abc so |
|
====== ===== |
|
""", |
|
'''\ |
|
.\\" Man page generated from reStructuredText. |
|
. |
|
.TH "" "" "" |
|
.SH NAME |
|
\\- \n\ |
|
'''+indend_macros+ |
|
'''.INDENT 0.0 |
|
.INDENT 3.5 |
|
.TS |
|
center; |
|
|l|l|. |
|
_ |
|
T{ |
|
head |
|
T}\tT{ |
|
and |
|
T} |
|
_ |
|
T{ |
|
1 |
|
T}\tT{ |
|
2 |
|
T} |
|
_ |
|
T{ |
|
abc |
|
T}\tT{ |
|
so |
|
T} |
|
_ |
|
.TE |
|
.UNINDENT |
|
.UNINDENT |
|
.\\" Generated by docutils manpage writer. |
|
. |
|
'''] |
|
] |
|
|
|
totest['optiongroup'] = [ |
|
[""" |
|
optin group with dot as group item |
|
|
|
$ |
|
bla bla bla |
|
|
|
# |
|
bla bla bla |
|
|
|
. |
|
bla bla bla |
|
|
|
[ |
|
bla bla bla |
|
|
|
] |
|
bla bla bla |
|
""", |
|
"""\ |
|
.\\" Man page generated from reStructuredText. |
|
. |
|
.TH "" "" "" |
|
.SH NAME |
|
\\- \n\ |
|
"""+indend_macros+ |
|
"""optin group with dot as group item |
|
.INDENT 0.0 |
|
.TP |
|
.B $ |
|
bla bla bla |
|
.UNINDENT |
|
.INDENT 0.0 |
|
.TP |
|
.B # |
|
bla bla bla |
|
.UNINDENT |
|
.INDENT 0.0 |
|
.TP |
|
.B \&. |
|
bla bla bla |
|
.UNINDENT |
|
.INDENT 0.0 |
|
.TP |
|
.B [ |
|
bla bla bla |
|
.UNINDENT |
|
.INDENT 0.0 |
|
.TP |
|
.B ] |
|
bla bla bla |
|
.UNINDENT |
|
.\\" Generated by docutils manpage writer. |
|
."""], |
|
] |
|
|
|
totest['definitionlist'] = [ |
|
[""" |
|
==================== |
|
Definition List Test |
|
==================== |
|
|
|
:Abstract: Docinfo is required. |
|
|
|
Section |
|
======= |
|
|
|
:term1: |
|
|
|
Description of Term 1 Description of Term 1 Description of Term 1 |
|
Description of Term 1 Description of Term 1 |
|
|
|
Description of Term 1 Description of Term 1 Description of Term 1 |
|
Description of Term 1 Description of Term 1 |
|
|
|
""", |
|
'''\ |
|
.\\" Man page generated from reStructuredText. |
|
. |
|
.TH DEFINITION LIST TEST "" "" "" |
|
.SH NAME |
|
Definition List Test \\- \n\ |
|
'''+indend_macros+ |
|
'''.SS Abstract |
|
.sp |
|
Docinfo is required. |
|
.SH SECTION |
|
.INDENT 0.0 |
|
.TP |
|
.B term1 |
|
Description of Term 1 Description of Term 1 Description of Term 1 |
|
Description of Term 1 Description of Term 1 |
|
.sp |
|
Description of Term 1 Description of Term 1 Description of Term 1 |
|
Description of Term 1 Description of Term 1 |
|
.UNINDENT |
|
.\\" Generated by docutils manpage writer. |
|
.'''], |
|
] |
|
|
|
|
|
if __name__ == '__main__': |
|
import unittest |
|
unittest.main(defaultTest='suite')
|
|
|