Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
test.test_transforms.test_footnotes.py Maven / Gradle / Ivy
#! /usr/bin/env python
# $Id: test_footnotes.py 4564 2006-05-21 20:44:42Z wiemann $
# Author: David Goodger
# Copyright: This module has been placed in the public domain.
"""
Tests for docutils.transforms.references.Footnotes.
"""
from __init__ import DocutilsTestSupport
from docutils.transforms.references import Footnotes
from docutils.parsers.rst import Parser
def suite():
parser = Parser()
s = DocutilsTestSupport.TransformTestSuite(parser)
s.generateTests(totest)
return s
totest = {}
totest['footnotes'] = ((Footnotes,), [
["""\
[#autolabel]_
.. [#autolabel] text
""",
"""\
1
1
text
"""],
["""\
autonumber: [#]_
.. [#] text
""",
"""\
autonumber: \n\
1
1
text
"""],
["""\
[#]_ is the first auto-numbered footnote reference.
[#]_ is the second auto-numbered footnote reference.
.. [#] Auto-numbered footnote 1.
.. [#] Auto-numbered footnote 2.
.. [#] Auto-numbered footnote 3.
[#]_ is the third auto-numbered footnote reference.
""",
"""\
1
is the first auto-numbered footnote reference.
2
is the second auto-numbered footnote reference.
1
Auto-numbered footnote 1.
2
Auto-numbered footnote 2.
3
Auto-numbered footnote 3.
3
is the third auto-numbered footnote reference.
"""],
["""\
[#third]_ is a reference to the third auto-numbered footnote.
.. [#first] First auto-numbered footnote.
.. [#second] Second auto-numbered footnote.
.. [#third] Third auto-numbered footnote.
[#second]_ is a reference to the second auto-numbered footnote.
[#first]_ is a reference to the first auto-numbered footnote.
[#third]_ is another reference to the third auto-numbered footnote.
Here are some internal cross-references to the implicit targets
generated by the footnotes: first_, second_, third_.
""",
"""\
3
is a reference to the third auto-numbered footnote.
1
First auto-numbered footnote.
2
Second auto-numbered footnote.
3
Third auto-numbered footnote.
2
is a reference to the second auto-numbered footnote.
1
is a reference to the first auto-numbered footnote.
3
is another reference to the third auto-numbered footnote.
Here are some internal cross-references to the implicit targets
generated by the footnotes: \n\
first
, \n\
second
, \n\
third
.
"""],
["""\
Mixed anonymous and labelled auto-numbered footnotes:
[#four]_ should be 4, [#]_ should be 1,
[#]_ should be 3, [#]_ is one too many,
[#two]_ should be 2, and [#six]_ doesn't exist.
.. [#] Auto-numbered footnote 1.
.. [#two] Auto-numbered footnote 2.
.. [#] Auto-numbered footnote 3.
.. [#four] Auto-numbered footnote 4.
.. [#five] Auto-numbered footnote 5.
.. [#five] Auto-numbered footnote 5 again (duplicate).
""",
"""\
Mixed anonymous and labelled auto-numbered footnotes:
4
should be 4, \n\
1
should be 1,
3
should be 3, \n\
[#]_
is one too many,
2
should be 2, and \n\
doesn't exist.
1
Auto-numbered footnote 1.
2
Auto-numbered footnote 2.
3
Auto-numbered footnote 3.
4
Auto-numbered footnote 4.
5
Auto-numbered footnote 5.
6
Duplicate explicit target name: "five".
Auto-numbered footnote 5 again (duplicate).
Too many autonumbered footnote references: only 2 corresponding footnotes available.
"""],
["""\
Mixed auto-numbered and manual footnotes:
.. [1] manually numbered
.. [#] auto-numbered
.. [#label] autonumber-labeled
""",
"""\
Mixed auto-numbered and manual footnotes:
1
manually numbered
2
auto-numbered
3
autonumber-labeled
"""],
["""\
A labeled autonumbered footnote referece: [#footnote]_.
An unlabeled autonumbered footnote referece: [#]_.
.. [#] Unlabeled autonumbered footnote.
.. [#footnote] Labeled autonumbered footnote.
Note that the footnotes are not in the same
order as the references.
""",
"""\
A labeled autonumbered footnote referece: \n\
2
.
An unlabeled autonumbered footnote referece: \n\
1
.
1
Unlabeled autonumbered footnote.
2
Labeled autonumbered footnote.
Note that the footnotes are not in the same
order as the references.
"""],
["""\
Mixed manually-numbered, anonymous auto-numbered,
and labelled auto-numbered footnotes:
[#four]_ should be 4, [#]_ should be 2,
[1]_ is 1, [3]_ is 3,
[#]_ should be 6, [#]_ is one too many,
[#five]_ should be 5, and [#eight]_ doesn't exist.
.. [1] Manually-numbered footnote 1.
.. [#] Auto-numbered footnote 2.
.. [#four] Auto-numbered footnote 4.
.. [3] Manually-numbered footnote 3
.. [#five] Auto-numbered footnote 5.
.. [#] Auto-numbered footnote 6.
.. [#five] Auto-numbered footnote 5 again (duplicate).
""",
"""\
Mixed manually-numbered, anonymous auto-numbered,
and labelled auto-numbered footnotes:
4
should be 4, \n\
2
should be 2,
1
is 1, \n\
3
is 3,
6
should be 6, \n\
[#]_
is one too many,
should be 5, and \n\
doesn't exist.
1
Manually-numbered footnote 1.
2
Auto-numbered footnote 2.
4
Auto-numbered footnote 4.
3
Manually-numbered footnote 3
5
Auto-numbered footnote 5.
6
Auto-numbered footnote 6.
7
Duplicate explicit target name: "five".
Auto-numbered footnote 5 again (duplicate).
Too many autonumbered footnote references: only 2 corresponding footnotes available.
"""],
["""\
Referencing a footnote by symbol [*]_.
.. [*] This is an auto-symbol footnote.
""",
"""\
Referencing a footnote by symbol \n\
*
.
*
This is an auto-symbol footnote.
"""],
["""\
A sequence of symbol footnote references:
[*]_ [*]_ [*]_ [*]_ [*]_ [*]_ [*]_ [*]_ [*]_ [*]_ [*]_ [*]_.
.. [*] Auto-symbol footnote 1.
.. [*] Auto-symbol footnote 2.
.. [*] Auto-symbol footnote 3.
.. [*] Auto-symbol footnote 4.
.. [*] Auto-symbol footnote 5.
.. [*] Auto-symbol footnote 6.
.. [*] Auto-symbol footnote 7.
.. [*] Auto-symbol footnote 8.
.. [*] Auto-symbol footnote 9.
.. [*] Auto-symbol footnote 10.
.. [*] Auto-symbol footnote 11.
.. [*] Auto-symbol footnote 12.
""",
u"""\
A sequence of symbol footnote references:
*
\n\
\u2020
\n\
\u2021
\n\
\u00A7
\n\
\u00B6
\n\
#
\n\
\u2660
\n\
\u2665
\n\
\u2666
\n\
\u2663
\n\
**
\n\
\u2020\u2020
.
*
Auto-symbol footnote 1.
\u2020
Auto-symbol footnote 2.
\u2021
Auto-symbol footnote 3.
\u00A7
Auto-symbol footnote 4.
\u00B6
Auto-symbol footnote 5.
#
Auto-symbol footnote 6.
\u2660
Auto-symbol footnote 7.
\u2665
Auto-symbol footnote 8.
\u2666
Auto-symbol footnote 9.
\u2663
Auto-symbol footnote 10.
**
Auto-symbol footnote 11.
\u2020\u2020
Auto-symbol footnote 12.
"""],
["""\
Duplicate manual footnote labels:
.. [1] Footnote.
.. [1] Footnote.
""",
"""\
Duplicate manual footnote labels:
1
Footnote.
1
Duplicate explicit target name: "1".
Footnote.
"""],
])
if __name__ == '__main__':
import unittest
unittest.main(defaultTest='suite')