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.
449 lines
11 KiB
449 lines
11 KiB
#! /usr/bin/env python |
|
|
|
# $Id: test_html4css1_parts.py 8023 2017-02-05 10:29:18Z milde $ |
|
# Author: reggie dugard <reggie@users.sourceforge.net> |
|
# Copyright: This module has been placed in the public domain. |
|
|
|
""" |
|
Test for fragment code in HTML writer. |
|
|
|
Note: the 'body' and 'whole' entries have been removed from the parts |
|
dictionaries (redundant), along with 'meta' and 'stylesheet' entries with |
|
standard values, and any entries with empty values. |
|
""" |
|
|
|
from __init__ import DocutilsTestSupport |
|
from docutils import core |
|
|
|
def suite(): |
|
s = DocutilsTestSupport.HtmlPublishPartsTestSuite() |
|
s.generateTests(totest) |
|
return s |
|
|
|
|
|
totest = {} |
|
|
|
totest['Title promotion'] = ({'stylesheet_path': '', |
|
'embed_stylesheet': 0}, [ |
|
["""\ |
|
Simple String |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Simple String</p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Simple String</p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
Simple String with *markup* |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Simple String with <em>markup</em></p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Simple String with <em>markup</em></p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
Simple String with an even simpler ``inline literal`` |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Simple String with an even simpler <tt class="docutils literal">inline literal</tt></p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Simple String with an even simpler <tt class="docutils literal">inline literal</tt></p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
A simple `anonymous reference`__ |
|
|
|
__ http://www.test.com/test_url |
|
""", |
|
"""\ |
|
{'fragment': '''<p>A simple <a class="reference external" href="http://www.test.com/test_url">anonymous reference</a></p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>A simple <a class="reference external" href="http://www.test.com/test_url">anonymous reference</a></p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
One paragraph. |
|
|
|
Two paragraphs. |
|
""", |
|
"""\ |
|
{'fragment': '''<p>One paragraph.</p> |
|
<p>Two paragraphs.</p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>One paragraph.</p> |
|
<p>Two paragraphs.</p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
A simple `named reference`_ with stuff in between the |
|
reference and the target. |
|
|
|
.. _`named reference`: http://www.test.com/test_url |
|
""", |
|
"""\ |
|
{'fragment': '''<p>A simple <a class="reference external" href="http://www.test.com/test_url">named reference</a> with stuff in between the |
|
reference and the target.</p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>A simple <a class="reference external" href="http://www.test.com/test_url">named reference</a> with stuff in between the |
|
reference and the target.</p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
+++++ |
|
Title |
|
+++++ |
|
|
|
Subtitle |
|
======== |
|
|
|
Some stuff |
|
|
|
Section |
|
------- |
|
|
|
Some more stuff |
|
|
|
Another Section |
|
............... |
|
|
|
And even more stuff |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Some stuff</p> |
|
<div class="section" id="section"> |
|
<h1>Section</h1> |
|
<p>Some more stuff</p> |
|
<div class="section" id="another-section"> |
|
<h2>Another Section</h2> |
|
<p>And even more stuff</p> |
|
</div> |
|
</div>\\n''', |
|
'html_body': '''<div class="document" id="title"> |
|
<h1 class="title">Title</h1> |
|
<h2 class="subtitle" id="subtitle">Subtitle</h2> |
|
<p>Some stuff</p> |
|
<div class="section" id="section"> |
|
<h1>Section</h1> |
|
<p>Some more stuff</p> |
|
<div class="section" id="another-section"> |
|
<h2>Another Section</h2> |
|
<p>And even more stuff</p> |
|
</div> |
|
</div> |
|
</div>\\n''', |
|
'html_head': '''...<title>Title</title>\\n''', |
|
'html_subtitle': '''<h2 class="subtitle" id="subtitle">Subtitle</h2>\\n''', |
|
'html_title': '''<h1 class="title">Title</h1>\\n''', |
|
'subtitle': '''Subtitle''', |
|
'title': '''Title'''} |
|
"""], |
|
["""\ |
|
+++++ |
|
Title |
|
+++++ |
|
|
|
:author: me |
|
|
|
Some stuff |
|
""", |
|
"""\ |
|
{'docinfo': '''<table class="docinfo" frame="void" rules="none"> |
|
<col class="docinfo-name" /> |
|
<col class="docinfo-content" /> |
|
<tbody valign="top"> |
|
<tr><th class="docinfo-name">Author:</th> |
|
<td>me</td></tr> |
|
</tbody> |
|
</table>\\n''', |
|
'fragment': '''<p>Some stuff</p>\\n''', |
|
'html_body': '''<div class="document" id="title"> |
|
<h1 class="title">Title</h1> |
|
<table class="docinfo" frame="void" rules="none"> |
|
<col class="docinfo-name" /> |
|
<col class="docinfo-content" /> |
|
<tbody valign="top"> |
|
<tr><th class="docinfo-name">Author:</th> |
|
<td>me</td></tr> |
|
</tbody> |
|
</table> |
|
<p>Some stuff</p> |
|
</div>\\n''', |
|
'html_head': '''...<title>Title</title> |
|
<meta name="author" content="me" />\\n''', |
|
'html_title': '''<h1 class="title">Title</h1>\\n''', |
|
'meta': '''<meta name="author" content="me" />\\n''', |
|
'title': '''Title'''} |
|
"""] |
|
]) |
|
|
|
totest['No title promotion'] = ({'doctitle_xform' : 0, |
|
'stylesheet_path': '', |
|
'embed_stylesheet': 0}, [ |
|
["""\ |
|
Simple String |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Simple String</p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Simple String</p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
Simple String with *markup* |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Simple String with <em>markup</em></p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Simple String with <em>markup</em></p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
Simple String with an even simpler ``inline literal`` |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Simple String with an even simpler <tt class="docutils literal">inline literal</tt></p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Simple String with an even simpler <tt class="docutils literal">inline literal</tt></p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
A simple `anonymous reference`__ |
|
|
|
__ http://www.test.com/test_url |
|
""", |
|
"""\ |
|
{'fragment': '''<p>A simple <a class="reference external" href="http://www.test.com/test_url">anonymous reference</a></p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>A simple <a class="reference external" href="http://www.test.com/test_url">anonymous reference</a></p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
A simple `named reference`_ with stuff in between the |
|
reference and the target. |
|
|
|
.. _`named reference`: http://www.test.com/test_url |
|
""", |
|
"""\ |
|
{'fragment': '''<p>A simple <a class="reference external" href="http://www.test.com/test_url">named reference</a> with stuff in between the |
|
reference and the target.</p>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>A simple <a class="reference external" href="http://www.test.com/test_url">named reference</a> with stuff in between the |
|
reference and the target.</p> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
+++++ |
|
Title |
|
+++++ |
|
|
|
Not A Subtitle |
|
============== |
|
|
|
Some stuff |
|
|
|
Section |
|
------- |
|
|
|
Some more stuff |
|
|
|
Another Section |
|
............... |
|
|
|
And even more stuff |
|
""", |
|
"""\ |
|
{'fragment': '''<div class="section" id="title"> |
|
<h1>Title</h1> |
|
<div class="section" id="not-a-subtitle"> |
|
<h2>Not A Subtitle</h2> |
|
<p>Some stuff</p> |
|
<div class="section" id="section"> |
|
<h3>Section</h3> |
|
<p>Some more stuff</p> |
|
<div class="section" id="another-section"> |
|
<h4>Another Section</h4> |
|
<p>And even more stuff</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div>\\n''', |
|
'html_body': '''<div class="document"> |
|
<div class="section" id="title"> |
|
<h1>Title</h1> |
|
<div class="section" id="not-a-subtitle"> |
|
<h2>Not A Subtitle</h2> |
|
<p>Some stuff</p> |
|
<div class="section" id="section"> |
|
<h3>Section</h3> |
|
<p>Some more stuff</p> |
|
<div class="section" id="another-section"> |
|
<h4>Another Section</h4> |
|
<p>And even more stuff</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
* bullet |
|
* list |
|
""", |
|
"""\ |
|
{'fragment': '''<ul class="simple"> |
|
<li>bullet</li> |
|
<li>list</li> |
|
</ul>\\n''', |
|
'html_body': '''<div class="document"> |
|
<ul class="simple"> |
|
<li>bullet</li> |
|
<li>list</li> |
|
</ul> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
.. table:: |
|
:align: right |
|
|
|
+-----+-----+ |
|
| 1 | 2 | |
|
+-----+-----+ |
|
| 3 | 4 | |
|
+-----+-----+ |
|
""", |
|
"""\ |
|
{'fragment': '''<table border="1" class="docutils align-right"> |
|
<colgroup> |
|
<col width="50%%" /> |
|
<col width="50%%" /> |
|
</colgroup> |
|
<tbody valign="top"> |
|
<tr><td>1</td> |
|
<td>2</td> |
|
</tr> |
|
<tr><td>3</td> |
|
<td>4</td> |
|
</tr> |
|
</tbody> |
|
</table>\\n''', |
|
'html_body': '''<div class="document"> |
|
<table border="1" class="docutils align-right"> |
|
<colgroup> |
|
<col width="50%%" /> |
|
<col width="50%%" /> |
|
</colgroup> |
|
<tbody valign="top"> |
|
<tr><td>1</td> |
|
<td>2</td> |
|
</tr> |
|
<tr><td>3</td> |
|
<td>4</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
Not a docinfo. |
|
|
|
:This: .. _target: |
|
|
|
is |
|
:a: |
|
:simple: |
|
:field: list |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Not a docinfo.</p> |
|
<table class="docutils field-list" frame="void" rules="none"> |
|
<col class="field-name" /> |
|
<col class="field-body" /> |
|
<tbody valign="top"> |
|
<tr class="field"><th class="field-name">This:</th><td class="field-body"><p class="first last" id="target">is</p> |
|
</td> |
|
</tr> |
|
<tr class="field"><th class="field-name">a:</th><td class="field-body"></td> |
|
</tr> |
|
<tr class="field"><th class="field-name">simple:</th><td class="field-body"></td> |
|
</tr> |
|
<tr class="field"><th class="field-name">field:</th><td class="field-body">list</td> |
|
</tr> |
|
</tbody> |
|
</table>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Not a docinfo.</p> |
|
<table class="docutils field-list" frame="void" rules="none"> |
|
<col class="field-name" /> |
|
<col class="field-body" /> |
|
<tbody valign="top"> |
|
<tr class="field"><th class="field-name">This:</th><td class="field-body"><p class="first last" id="target">is</p> |
|
</td> |
|
</tr> |
|
<tr class="field"><th class="field-name">a:</th><td class="field-body"></td> |
|
</tr> |
|
<tr class="field"><th class="field-name">simple:</th><td class="field-body"></td> |
|
</tr> |
|
<tr class="field"><th class="field-name">field:</th><td class="field-body">list</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
["""\ |
|
Not a docinfo. |
|
|
|
:This is: a |
|
:simple field list with loooong field: names |
|
""", |
|
"""\ |
|
{'fragment': '''<p>Not a docinfo.</p> |
|
<table class="docutils field-list" frame="void" rules="none"> |
|
<col class="field-name" /> |
|
<col class="field-body" /> |
|
<tbody valign="top"> |
|
<tr class="field"><th class="field-name">This is:</th><td class="field-body">a</td> |
|
</tr> |
|
<tr class="field"><th class="field-name" colspan="2">simple field list with loooong field:</th></tr> |
|
<tr class="field"><td> </td><td class="field-body">names</td> |
|
</tr> |
|
</tbody> |
|
</table>\\n''', |
|
'html_body': '''<div class="document"> |
|
<p>Not a docinfo.</p> |
|
<table class="docutils field-list" frame="void" rules="none"> |
|
<col class="field-name" /> |
|
<col class="field-body" /> |
|
<tbody valign="top"> |
|
<tr class="field"><th class="field-name">This is:</th><td class="field-body">a</td> |
|
</tr> |
|
<tr class="field"><th class="field-name" colspan="2">simple field list with loooong field:</th></tr> |
|
<tr class="field"><td> </td><td class="field-body">names</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
</div>\\n''', |
|
'html_head': '''...<title><string></title>\\n'''} |
|
"""], |
|
]) |
|
|
|
|
|
if __name__ == '__main__': |
|
import unittest |
|
unittest.main(defaultTest='suite')
|
|
|