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
* #4438: math: math with labels with whitespace cause html error
* #2437: make full reference for classes, aliased with "alias of"
* #4434: pure numbers as link targets produce warning
Testing
--------

View File

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

View File

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

View File

@ -270,6 +270,8 @@ def test_html_warnings(app, warning):
# tests for ``any`` role
(".//a[@href='#with']/span", 'headings'),
(".//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
(".//li", u'Smart “quotes” in English text.'),
(".//li", u'Smart — long and short dashes.'),

View File

@ -179,6 +179,8 @@ def cached_etree_parse():
# tests for ``any`` role
(".//a[@href='#with']/span", 'headings'),
(".//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': [
(".//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'
'\\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)
assert ('\\begin{wrapfigure}{r}{0pt}\n\\centering\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)
assert ('\\begin{wrapfigure}{r}{0.500\\linewidth}\n\\centering\n'
'\\noindent\\sphinxincludegraphics{{rimg}.png}\n'
'\\caption{figure with align \\& figwidth option}'
'\\label{\\detokenize{markup:id9}}'
'\\label{\\detokenize{markup:id10}}'
'\\end{wrapfigure}' in result)
assert ('\\begin{wrapfigure}{r}{3cm}\n\\centering\n'
'\\noindent\\sphinxincludegraphics[width=3cm]{{rimg}.png}\n'
'\\caption{figure with align \\& width option}'
'\\label{\\detokenize{markup:id10}}'
'\\label{\\detokenize{markup:id11}}'
'\\end{wrapfigure}' in result)