Fix #4434: pure numbers as link targets produce warning

This commit is contained in:
Takeshi KOMIYA 2018-01-20 17:06:56 +09:00
parent d3058f462d
commit 896ab3a2f5
6 changed files with 14 additions and 6 deletions

View File

@ -20,6 +20,7 @@ Bugs fixed
* #4412: Updated jQuery version from 3.1.0 to 3.2.1 * #4412: Updated jQuery version from 3.1.0 to 3.2.1
* #4438: math: math with labels with whitespace cause html error * #4438: math: math with labels with whitespace cause html error
* #2437: make full reference for classes, aliased with "alias of" * #2437: make full reference for classes, aliased with "alias of"
* #4434: pure numbers as link targets produce warning
Testing Testing
-------- --------

View File

@ -607,8 +607,9 @@ class StandardDomain(Domain):
if node.tagname == 'target' and 'refid' in node: # indirect hyperlink targets if node.tagname == 'target' and 'refid' in node: # indirect hyperlink targets
node = document.ids.get(node['refid']) node = document.ids.get(node['refid'])
labelid = node['names'][0] labelid = node['names'][0]
if name.isdigit() or 'refuri' in node or \ if (node.tagname == 'footnote' or
node.tagname.startswith('desc_'): 'refuri' in node or
node.tagname.startswith('desc_')):
# ignore footnote labels, labels automatically generated from a # ignore footnote labels, labels automatically generated from a
# link and object descriptions # link and object descriptions
continue continue

View File

@ -1,6 +1,7 @@
:tocdepth: 2 :tocdepth: 2
.. title:: set by title directive .. title:: set by title directive
.. _1024:
Testing various markup Testing various markup
====================== ======================
@ -152,6 +153,7 @@ Adding \n to test unescaping.
* :ref:`my-table-name` * :ref:`my-table-name`
* :ref:`my-code-block` * :ref:`my-code-block`
* :ref:`my-code-block-name` * :ref:`my-code-block-name`
* :ref:`1024`
* :numref:`my-figure` * :numref:`my-figure`
* :numref:`my-figure-name` * :numref:`my-figure-name`
* :numref:`my-table` * :numref:`my-table`

View File

@ -270,6 +270,8 @@ def test_html_warnings(app, warning):
# tests for ``any`` role # tests for ``any`` role
(".//a[@href='#with']/span", 'headings'), (".//a[@href='#with']/span", 'headings'),
(".//a[@href='objects.html#func_without_body']/code/span", 'objects'), (".//a[@href='objects.html#func_without_body']/code/span", 'objects'),
# tests for numeric labels
(".//a[@href='#id1'][@class='reference internal']/span", 'Testing various markup'),
# tests for smartypants # tests for smartypants
(".//li", u'Smart “quotes” in English text.'), (".//li", u'Smart “quotes” in English text.'),
(".//li", u'Smart — long and short dashes.'), (".//li", u'Smart — long and short dashes.'),

View File

@ -179,6 +179,8 @@ def cached_etree_parse():
# tests for ``any`` role # tests for ``any`` role
(".//a[@href='#with']/span", 'headings'), (".//a[@href='#with']/span", 'headings'),
(".//a[@href='objects.html#func_without_body']/code/span", 'objects'), (".//a[@href='objects.html#func_without_body']/code/span", 'objects'),
# tests for numeric labels
(".//a[@href='#id1'][@class='reference internal']/span", 'Testing various markup'),
], ],
'objects.html': [ 'objects.html': [
(".//dt[@id='mod.Cls.meth1']", ''), (".//dt[@id='mod.Cls.meth1']", ''),

View File

@ -130,24 +130,24 @@ def test_writer(app, status, warning):
assert ('\\begin{sphinxfigure-in-table}\n\\centering\n\\capstart\n' assert ('\\begin{sphinxfigure-in-table}\n\\centering\n\\capstart\n'
'\\noindent\\sphinxincludegraphics{{img}.png}\n' '\\noindent\\sphinxincludegraphics{{img}.png}\n'
'\\sphinxfigcaption{figure in table}\\label{\\detokenize{markup:id7}}' '\\sphinxfigcaption{figure in table}\\label{\\detokenize{markup:id8}}'
'\\end{sphinxfigure-in-table}\\relax' in result) '\\end{sphinxfigure-in-table}\\relax' in result)
assert ('\\begin{wrapfigure}{r}{0pt}\n\\centering\n' assert ('\\begin{wrapfigure}{r}{0pt}\n\\centering\n'
'\\noindent\\sphinxincludegraphics{{rimg}.png}\n' '\\noindent\\sphinxincludegraphics{{rimg}.png}\n'
'\\caption{figure with align option}\\label{\\detokenize{markup:id8}}' '\\caption{figure with align option}\\label{\\detokenize{markup:id9}}'
'\\end{wrapfigure}' in result) '\\end{wrapfigure}' in result)
assert ('\\begin{wrapfigure}{r}{0.500\\linewidth}\n\\centering\n' assert ('\\begin{wrapfigure}{r}{0.500\\linewidth}\n\\centering\n'
'\\noindent\\sphinxincludegraphics{{rimg}.png}\n' '\\noindent\\sphinxincludegraphics{{rimg}.png}\n'
'\\caption{figure with align \\& figwidth option}' '\\caption{figure with align \\& figwidth option}'
'\\label{\\detokenize{markup:id9}}' '\\label{\\detokenize{markup:id10}}'
'\\end{wrapfigure}' in result) '\\end{wrapfigure}' in result)
assert ('\\begin{wrapfigure}{r}{3cm}\n\\centering\n' assert ('\\begin{wrapfigure}{r}{3cm}\n\\centering\n'
'\\noindent\\sphinxincludegraphics[width=3cm]{{rimg}.png}\n' '\\noindent\\sphinxincludegraphics[width=3cm]{{rimg}.png}\n'
'\\caption{figure with align \\& width option}' '\\caption{figure with align \\& width option}'
'\\label{\\detokenize{markup:id10}}' '\\label{\\detokenize{markup:id11}}'
'\\end{wrapfigure}' in result) '\\end{wrapfigure}' in result)