summaryrefslogtreecommitdiff
path: root/tests/test_build_latex.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_build_latex.py')
-rw-r--r--tests/test_build_latex.py83
1 files changed, 62 insertions, 21 deletions
diff --git a/tests/test_build_latex.py b/tests/test_build_latex.py
index 63cca61ed..4c735952f 100644
--- a/tests/test_build_latex.py
+++ b/tests/test_build_latex.py
@@ -723,7 +723,8 @@ def test_footnote(app, status, warning):
print(result)
print(status.getvalue())
print(warning.getvalue())
- assert ('\\begin{footnote}[1]\\sphinxAtStartFootnote\nnumbered\n%\n'
+ assert ('\\sphinxstepexplicit %\n\\begin{footnote}[1]\\phantomsection'
+ '\\label{\\thesphinxscope.1}%\n\\sphinxAtStartFootnote\nnumbered\n%\n'
'\\end{footnote}') in result
assert ('\\begin{footnote}[2]\\sphinxAtStartFootnote\nauto numbered\n%\n'
'\\end{footnote}') in result
@@ -731,9 +732,13 @@ def test_footnote(app, status, warning):
assert '\\sphinxcite{footnote:bar}' in result
assert ('\\bibitem[bar]{footnote:bar}\n\\sphinxAtStartPar\ncite\n') in result
assert '\\sphinxcaption{Table caption \\sphinxfootnotemark[4]' in result
- assert ('\\hline%\n\\begin{footnotetext}[4]\\sphinxAtStartFootnote\n'
+ assert ('\\hline%\n\\begin{footnotetext}[4]'
+ '\\phantomsection\\label{\\thesphinxscope.4}%\n'
+ '\\sphinxAtStartFootnote\n'
'footnote in table caption\n%\n\\end{footnotetext}\\ignorespaces %\n'
- '\\begin{footnotetext}[5]\\sphinxAtStartFootnote\n'
+ '\\begin{footnotetext}[5]'
+ '\\phantomsection\\label{\\thesphinxscope.5}%\n'
+ '\\sphinxAtStartFootnote\n'
'footnote in table header\n%\n\\end{footnotetext}\\ignorespaces '
'\n\\sphinxAtStartPar\n'
'VIDIOC\\_CROPCAP\n&\n\\sphinxAtStartPar\n') in result
@@ -759,19 +764,27 @@ def test_reference_in_caption_and_codeblock_in_footnote(app, status, warning):
assert '\\subsubsection*{The rubric title with a reference to {[}AuthorYear{]}}' in result
assert ('\\chapter{The section with a reference to \\sphinxfootnotemark[5]}\n'
'\\label{\\detokenize{index:the-section-with-a-reference-to}}'
- '%\n\\begin{footnotetext}[5]\\sphinxAtStartFootnote\n'
+ '%\n\\begin{footnotetext}[5]'
+ '\\phantomsection\\label{\\thesphinxscope.5}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote in section\n%\n\\end{footnotetext}') in result
assert ('\\caption{This is the figure caption with a footnote to '
'\\sphinxfootnotemark[7].}\\label{\\detokenize{index:id29}}\\end{figure}\n'
- '%\n\\begin{footnotetext}[7]\\sphinxAtStartFootnote\n'
+ '%\n\\begin{footnotetext}[7]'
+ '\\phantomsection\\label{\\thesphinxscope.7}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote in caption\n%\n\\end{footnotetext}') in result
assert ('\\sphinxcaption{footnote \\sphinxfootnotemark[8] in '
'caption of normal table}\\label{\\detokenize{index:id30}}') in result
assert ('\\caption{footnote \\sphinxfootnotemark[9] '
'in caption \\sphinxfootnotemark[10] of longtable\\strut}') in result
- assert ('\\endlastfoot\n%\n\\begin{footnotetext}[9]\\sphinxAtStartFootnote\n'
+ assert ('\\endlastfoot\n%\n\\begin{footnotetext}[9]'
+ '\\phantomsection\\label{\\thesphinxscope.9}%\n'
+ '\\sphinxAtStartFootnote\n'
'Foot note in longtable\n%\n\\end{footnotetext}\\ignorespaces %\n'
- '\\begin{footnotetext}[10]\\sphinxAtStartFootnote\n'
+ '\\begin{footnotetext}[10]'
+ '\\phantomsection\\label{\\thesphinxscope.10}%\n'
+ '\\sphinxAtStartFootnote\n'
'Second footnote in caption of longtable\n') in result
assert ('This is a reference to the code\\sphinxhyphen{}block in the footnote:\n'
'{\\hyperref[\\detokenize{index:codeblockinfootnote}]'
@@ -792,7 +805,9 @@ def test_latex_show_urls_is_inline(app, status, warning):
print(result)
print(status.getvalue())
print(warning.getvalue())
- assert ('Same footnote number %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
+ assert ('Same footnote number \\sphinxstepexplicit %\n'
+ '\\begin{footnote}[1]\\phantomsection\\label{\\thesphinxscope.1}%\n'
+ '\\sphinxAtStartFootnote\n'
'footnote in bar\n%\n\\end{footnote} in bar.rst') in result
assert ('Auto footnote number %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
'footnote in baz\n%\n\\end{footnote} in baz.rst') in result
@@ -806,12 +821,16 @@ def test_latex_show_urls_is_inline(app, status, warning):
'{\\sphinxcrossref{The section with a reference to }}}' in result)
assert ('First footnote: %\n\\begin{footnote}[2]\\sphinxAtStartFootnote\n'
'First\n%\n\\end{footnote}') in result
- assert ('Second footnote: %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
+ assert ('Second footnote: \\sphinxstepexplicit %\n'
+ '\\begin{footnote}[1]\\phantomsection\\label{\\thesphinxscope.1}%\n'
+ '\\sphinxAtStartFootnote\n'
'Second\n%\n\\end{footnote}') in result
assert '\\sphinxhref{http://sphinx-doc.org/}{Sphinx} (http://sphinx\\sphinxhyphen{}doc.org/)' in result
assert ('Third footnote: %\n\\begin{footnote}[3]\\sphinxAtStartFootnote\n'
'Third \\sphinxfootnotemark[4]\n%\n\\end{footnote}%\n'
- '\\begin{footnotetext}[4]\\sphinxAtStartFootnote\n'
+ '\\begin{footnotetext}[4]'
+ '\\phantomsection\\label{\\thesphinxscope.4}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote inside footnote\n%\n\\end{footnotetext}\\ignorespaces') in result
assert ('\\sphinxhref{http://sphinx-doc.org/~test/}{URL including tilde} '
'(http://sphinx\\sphinxhyphen{}doc.org/\\textasciitilde{}test/)') in result
@@ -819,7 +838,9 @@ def test_latex_show_urls_is_inline(app, status, warning):
'(http://sphinx\\sphinxhyphen{}doc.org/)}] '
'\\leavevmode\n\\sphinxAtStartPar\nDescription' in result)
assert ('\\item[{Footnote in term \\sphinxfootnotemark[6]}] '
- '\\leavevmode%\n\\begin{footnotetext}[6]\\sphinxAtStartFootnote\n'
+ '\\leavevmode%\n\\begin{footnotetext}[6]'
+ '\\phantomsection\\label{\\thesphinxscope.6}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote in term\n%\n\\end{footnotetext}\\ignorespaces '
'\n\\sphinxAtStartPar\nDescription') in result
assert ('\\item[{\\sphinxhref{http://sphinx-doc.org/}{Term in deflist} '
@@ -840,7 +861,9 @@ def test_latex_show_urls_is_footnote(app, status, warning):
print(result)
print(status.getvalue())
print(warning.getvalue())
- assert ('Same footnote number %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
+ assert ('Same footnote number \\sphinxstepexplicit %\n'
+ '\\begin{footnote}[1]\\phantomsection\\label{\\thesphinxscope.1}%\n'
+ '\\sphinxAtStartFootnote\n'
'footnote in bar\n%\n\\end{footnote} in bar.rst') in result
assert ('Auto footnote number %\n\\begin{footnote}[2]\\sphinxAtStartFootnote\n'
'footnote in baz\n%\n\\end{footnote} in baz.rst') in result
@@ -853,14 +876,18 @@ def test_latex_show_urls_is_footnote(app, status, warning):
'{\\sphinxcrossref{The section with a reference to }}}') in result
assert ('First footnote: %\n\\begin{footnote}[3]\\sphinxAtStartFootnote\n'
'First\n%\n\\end{footnote}') in result
- assert ('Second footnote: %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
+ assert ('Second footnote: \\sphinxstepexplicit %\n'
+ '\\begin{footnote}[1]\\phantomsection\\label{\\thesphinxscope.1}%\n'
+ '\\sphinxAtStartFootnote\n'
'Second\n%\n\\end{footnote}') in result
assert ('\\sphinxhref{http://sphinx-doc.org/}{Sphinx}'
'%\n\\begin{footnote}[4]\\sphinxAtStartFootnote\n'
'\\sphinxnolinkurl{http://sphinx-doc.org/}\n%\n\\end{footnote}') in result
assert ('Third footnote: %\n\\begin{footnote}[6]\\sphinxAtStartFootnote\n'
'Third \\sphinxfootnotemark[7]\n%\n\\end{footnote}%\n'
- '\\begin{footnotetext}[7]\\sphinxAtStartFootnote\n'
+ '\\begin{footnotetext}[7]'
+ '\\phantomsection\\label{\\thesphinxscope.7}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote inside footnote\n%\n'
'\\end{footnotetext}\\ignorespaces') in result
assert ('\\sphinxhref{http://sphinx-doc.org/~test/}{URL including tilde}'
@@ -868,16 +895,22 @@ def test_latex_show_urls_is_footnote(app, status, warning):
'\\sphinxnolinkurl{http://sphinx-doc.org/~test/}\n%\n\\end{footnote}') in result
assert ('\\item[{\\sphinxhref{http://sphinx-doc.org/}'
'{URL in term}\\sphinxfootnotemark[9]}] '
- '\\leavevmode%\n\\begin{footnotetext}[9]\\sphinxAtStartFootnote\n'
+ '\\leavevmode%\n\\begin{footnotetext}[9]'
+ '\\phantomsection\\label{\\thesphinxscope.9}%\n'
+ '\\sphinxAtStartFootnote\n'
'\\sphinxnolinkurl{http://sphinx-doc.org/}\n%\n'
'\\end{footnotetext}\\ignorespaces \n\\sphinxAtStartPar\nDescription') in result
assert ('\\item[{Footnote in term \\sphinxfootnotemark[11]}] '
- '\\leavevmode%\n\\begin{footnotetext}[11]\\sphinxAtStartFootnote\n'
+ '\\leavevmode%\n\\begin{footnotetext}[11]'
+ '\\phantomsection\\label{\\thesphinxscope.11}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote in term\n%\n\\end{footnotetext}\\ignorespaces '
'\n\\sphinxAtStartPar\nDescription') in result
assert ('\\item[{\\sphinxhref{http://sphinx-doc.org/}{Term in deflist}'
'\\sphinxfootnotemark[10]}] '
- '\\leavevmode%\n\\begin{footnotetext}[10]\\sphinxAtStartFootnote\n'
+ '\\leavevmode%\n\\begin{footnotetext}[10]'
+ '\\phantomsection\\label{\\thesphinxscope.10}%\n'
+ '\\sphinxAtStartFootnote\n'
'\\sphinxnolinkurl{http://sphinx-doc.org/}\n%\n'
'\\end{footnotetext}\\ignorespaces \n\\sphinxAtStartPar\nDescription') in result
assert ('\\sphinxurl{https://github.com/sphinx-doc/sphinx}\n' in result)
@@ -895,7 +928,9 @@ def test_latex_show_urls_is_no(app, status, warning):
print(result)
print(status.getvalue())
print(warning.getvalue())
- assert ('Same footnote number %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
+ assert ('Same footnote number \\sphinxstepexplicit %\n'
+ '\\begin{footnote}[1]\\phantomsection\\label{\\thesphinxscope.1}%\n'
+ '\\sphinxAtStartFootnote\n'
'footnote in bar\n%\n\\end{footnote} in bar.rst') in result
assert ('Auto footnote number %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
'footnote in baz\n%\n\\end{footnote} in baz.rst') in result
@@ -908,18 +943,24 @@ def test_latex_show_urls_is_no(app, status, warning):
'{\\sphinxcrossref{The section with a reference to }}}' in result)
assert ('First footnote: %\n\\begin{footnote}[2]\\sphinxAtStartFootnote\n'
'First\n%\n\\end{footnote}') in result
- assert ('Second footnote: %\n\\begin{footnote}[1]\\sphinxAtStartFootnote\n'
+ assert ('Second footnote: \\sphinxstepexplicit %\n'
+ '\\begin{footnote}[1]\\phantomsection\\label{\\thesphinxscope.1}%\n'
+ '\\sphinxAtStartFootnote\n'
'Second\n%\n\\end{footnote}') in result
assert '\\sphinxhref{http://sphinx-doc.org/}{Sphinx}' in result
assert ('Third footnote: %\n\\begin{footnote}[3]\\sphinxAtStartFootnote\n'
'Third \\sphinxfootnotemark[4]\n%\n\\end{footnote}%\n'
- '\\begin{footnotetext}[4]\\sphinxAtStartFootnote\n'
+ '\\begin{footnotetext}[4]'
+ '\\phantomsection\\label{\\thesphinxscope.4}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote inside footnote\n%\n\\end{footnotetext}\\ignorespaces') in result
assert '\\sphinxhref{http://sphinx-doc.org/~test/}{URL including tilde}' in result
assert ('\\item[{\\sphinxhref{http://sphinx-doc.org/}{URL in term}}] '
'\\leavevmode\n\\sphinxAtStartPar\nDescription') in result
assert ('\\item[{Footnote in term \\sphinxfootnotemark[6]}] '
- '\\leavevmode%\n\\begin{footnotetext}[6]\\sphinxAtStartFootnote\n'
+ '\\leavevmode%\n\\begin{footnotetext}[6]'
+ '\\phantomsection\\label{\\thesphinxscope.6}%\n'
+ '\\sphinxAtStartFootnote\n'
'Footnote in term\n%\n\\end{footnotetext}\\ignorespaces '
'\n\\sphinxAtStartPar\nDescription') in result
assert ('\\item[{\\sphinxhref{http://sphinx-doc.org/}{Term in deflist}}] '