Add LatexPublishTest classes.
[docutils.git] / test / test_writers / test_latex2e.py
blob95e8db5bc7758126e068da7cea47aa4cad310d29
1 #! /usr/bin/env python
3 # Author: engelbert gruber
4 # Contact: grubert@users.sourceforge.net
5 # Revision: $Revision$
6 # Date: $Date$
7 # Copyright: This module has been placed in the public domain.
9 """
10 Tests for latex2e writer.
11 """
13 from __init__ import DocutilsTestSupport
15 def suite():
16 s = DocutilsTestSupport.LatexPublishTestSuite()
17 s.generateTests(totest)
18 return s
21 latex_head = """\
22 \\documentclass[10pt,english]{article}
23 \\usepackage{babel}
24 \\usepackage{shortvrb}
25 \\usepackage[latin1]{inputenc}
26 \\usepackage{tabularx}
27 \\usepackage{longtable}
28 \\setlength{\\extrarowheight}{2pt}
29 \\usepackage{amsmath}
30 \\usepackage{graphicx}
31 \\usepackage{color}
32 \\usepackage{multirow}
33 \\usepackage[colorlinks,linkcolor=blue]{hyperref}
34 \\usepackage[a4paper,margin=2cm,nohead]{geometry}
35 %% generator Docutils: http://docutils.sourceforge.net/
36 \\newlength{\\admwidth}
37 \\addtolength{\\admwidth}{0.9\\textwidth}
38 \\newcommand{\\optionlistlabel}[1]{\\bf #1 \\hfill}
39 \\newenvironment{optionlist}[1]
40 {\\begin{list}{}
41 {\\setlength{\\labelwidth}{#1}
42 \\setlength{\\rightmargin}{1cm}
43 \\setlength{\\leftmargin}{\\rightmargin}
44 \\addtolength{\\leftmargin}{\\labelwidth}
45 \\addtolength{\\leftmargin}{\\labelsep}
46 \\renewcommand{\\makelabel}{\\optionlistlabel}}
47 }{\\end{list}}
48 % begin: floats for footnotes tweaking.
49 \\setlength{\\floatsep}{0.5em}
50 \\setlength{\\textfloatsep}{\\fill}
51 \\addtolength{\\textfloatsep}{3em}
52 \\renewcommand{\\textfraction}{0.5}
53 \\renewcommand{\\topfraction}{0.5}
54 \\renewcommand{\\bottomfraction}{0.5}
55 \\setcounter{totalnumber}{50}
56 \\setcounter{topnumber}{50}
57 \\setcounter{bottomnumber}{50}
58 % end floats for footnotes
59 \\input{style.tex}
60 """
62 totest = {}
64 totest['empty file'] = [
66 """\
68 """,
69 latex_head + """\
70 \\title{}
71 \\author{}
72 \\date{}
73 \\raggedbottom
74 \\begin{document}
75 \\maketitle
78 Document empty; must have contents.
81 \\end{document}
82 """
86 totest['tables_of_contents'] = [
87 ["""\
88 .. contents:: Table of Contents
90 Title 1
91 =======
92 Paragraph 1.
94 Title 2
95 -------
96 Paragraph 2.
97 """,
98 latex_head + """\
99 \\title{Title 1}
100 \\author{}
101 \\date{}
102 \\hypersetup{\npdftitle={Title 1}
104 \\raggedbottom
105 \\begin{document}
106 \\maketitle
108 \\hypertarget{table-of-contents}{}\\begin{center}
109 \\subsection*{Table of Contents}
110 \\end{center}
111 \\pdfbookmark[0]{Table of Contents}{table-of-contents}
112 \\begin{list}{}{}
113 \\item \\href{#title-2}{Title 2}
115 \\end{list}
118 Paragraph 1.
121 %___________________________________________________________________________
123 \\hypertarget{title-2}{}
124 \\section*{Title 2}
125 \\pdfbookmark[0]{Title 2}{title-2}
127 Paragraph 2.
129 \\end{document}
130 """],
135 if __name__ == '__main__':
136 import unittest
137 unittest.main(defaultTest='suite')