mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix #4919: node.asdom() crashes if toctree has :numbered: option
This commit is contained in:
parent
713aa82140
commit
cda18f119f
1
CHANGES
1
CHANGES
@ -34,6 +34,7 @@ Bugs fixed
|
|||||||
* #4928: i18n: Ignore dot-directories like .git/ in LC_MESSAGES/
|
* #4928: i18n: Ignore dot-directories like .git/ in LC_MESSAGES/
|
||||||
* #4946: py domain: type field could not handle "None" as a type
|
* #4946: py domain: type field could not handle "None" as a type
|
||||||
* #4979: latex: Incorrect escaping of curly braces in index entries
|
* #4979: latex: Incorrect escaping of curly braces in index entries
|
||||||
|
* #4919: node.asdom() crashes if toctree has :numbered: option
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
--------
|
--------
|
||||||
|
@ -168,10 +168,10 @@ class TocTreeCollector(EnvironmentCollector):
|
|||||||
number = tuple(numstack)
|
number = tuple(numstack)
|
||||||
else:
|
else:
|
||||||
number = None
|
number = None
|
||||||
secnums[subnode[0]['anchorname']] = \
|
secnums[subnode[0]['anchorname']] = number
|
||||||
subnode[0]['secnumber'] = number
|
subnode[0]['secnumber'] = list(number)
|
||||||
if titlenode:
|
if titlenode:
|
||||||
titlenode['secnumber'] = number
|
titlenode['secnumber'] = list(number)
|
||||||
titlenode = None
|
titlenode = None
|
||||||
elif isinstance(subnode, addnodes.toctree):
|
elif isinstance(subnode, addnodes.toctree):
|
||||||
_walk_toctree(subnode, depth)
|
_walk_toctree(subnode, depth)
|
||||||
|
@ -227,11 +227,11 @@ def test_get_toctree_for(app):
|
|||||||
[list_item, compact_paragraph, reference, "foo.1"],
|
[list_item, compact_paragraph, reference, "foo.1"],
|
||||||
[list_item, compact_paragraph, reference, "foo.2"]))
|
[list_item, compact_paragraph, reference, "foo.2"]))
|
||||||
|
|
||||||
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=(1,))
|
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=[1])
|
||||||
assert_node(toctree[1][0][1][0][0][0], reference, refuri="quux", secnumber=(1, 1))
|
assert_node(toctree[1][0][1][0][0][0], reference, refuri="quux", secnumber=[1, 1])
|
||||||
assert_node(toctree[1][0][1][1][0][0], reference, refuri="foo#foo-1", secnumber=(1, 2))
|
assert_node(toctree[1][0][1][1][0][0], reference, refuri="foo#foo-1", secnumber=[1, 2])
|
||||||
assert_node(toctree[1][0][1][2][0][0], reference, refuri="foo#foo-2", secnumber=(1, 3))
|
assert_node(toctree[1][0][1][2][0][0], reference, refuri="foo#foo-2", secnumber=[1, 3])
|
||||||
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=(2,))
|
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=[2])
|
||||||
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
||||||
|
|
||||||
assert_node(toctree[2],
|
assert_node(toctree[2],
|
||||||
@ -258,8 +258,8 @@ def test_get_toctree_for_collapse(app):
|
|||||||
([list_item, compact_paragraph, reference, "foo"],
|
([list_item, compact_paragraph, reference, "foo"],
|
||||||
[list_item, compact_paragraph, reference, "bar"],
|
[list_item, compact_paragraph, reference, "bar"],
|
||||||
[list_item, compact_paragraph, reference, "http://sphinx-doc.org/"]))
|
[list_item, compact_paragraph, reference, "http://sphinx-doc.org/"]))
|
||||||
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=(1,))
|
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=[1])
|
||||||
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=(2,))
|
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=[2])
|
||||||
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
||||||
|
|
||||||
assert_node(toctree[2],
|
assert_node(toctree[2],
|
||||||
@ -296,13 +296,13 @@ def test_get_toctree_for_maxdepth(app):
|
|||||||
assert_node(toctree[1][0][1][1][1],
|
assert_node(toctree[1][0][1][1][1],
|
||||||
[bullet_list, list_item, compact_paragraph, reference, "foo.1-1"])
|
[bullet_list, list_item, compact_paragraph, reference, "foo.1-1"])
|
||||||
|
|
||||||
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=(1,))
|
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=[1])
|
||||||
assert_node(toctree[1][0][1][0][0][0], reference, refuri="quux", secnumber=(1, 1))
|
assert_node(toctree[1][0][1][0][0][0], reference, refuri="quux", secnumber=[1, 1])
|
||||||
assert_node(toctree[1][0][1][1][0][0], reference, refuri="foo#foo-1", secnumber=(1, 2))
|
assert_node(toctree[1][0][1][1][0][0], reference, refuri="foo#foo-1", secnumber=[1, 2])
|
||||||
assert_node(toctree[1][0][1][1][1][0][0][0],
|
assert_node(toctree[1][0][1][1][1][0][0][0],
|
||||||
reference, refuri="foo#foo-1-1", secnumber=(1, 2, 1))
|
reference, refuri="foo#foo-1-1", secnumber=[1, 2, 1])
|
||||||
assert_node(toctree[1][0][1][2][0][0], reference, refuri="foo#foo-2", secnumber=(1, 3))
|
assert_node(toctree[1][0][1][2][0][0], reference, refuri="foo#foo-2", secnumber=[1, 3])
|
||||||
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=(2,))
|
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=[2])
|
||||||
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
||||||
|
|
||||||
assert_node(toctree[2],
|
assert_node(toctree[2],
|
||||||
@ -335,11 +335,11 @@ def test_get_toctree_for_includehidden(app):
|
|||||||
[list_item, compact_paragraph, reference, "foo.1"],
|
[list_item, compact_paragraph, reference, "foo.1"],
|
||||||
[list_item, compact_paragraph, reference, "foo.2"]))
|
[list_item, compact_paragraph, reference, "foo.2"]))
|
||||||
|
|
||||||
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=(1,))
|
assert_node(toctree[1][0][0][0], reference, refuri="foo", secnumber=[1])
|
||||||
assert_node(toctree[1][0][1][0][0][0], reference, refuri="quux", secnumber=(1, 1))
|
assert_node(toctree[1][0][1][0][0][0], reference, refuri="quux", secnumber=[1, 1])
|
||||||
assert_node(toctree[1][0][1][1][0][0], reference, refuri="foo#foo-1", secnumber=(1, 2))
|
assert_node(toctree[1][0][1][1][0][0], reference, refuri="foo#foo-1", secnumber=[1, 2])
|
||||||
assert_node(toctree[1][0][1][2][0][0], reference, refuri="foo#foo-2", secnumber=(1, 3))
|
assert_node(toctree[1][0][1][2][0][0], reference, refuri="foo#foo-2", secnumber=[1, 3])
|
||||||
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=(2,))
|
assert_node(toctree[1][1][0][0], reference, refuri="bar", secnumber=[2])
|
||||||
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
assert_node(toctree[1][2][0][0], reference, refuri="http://sphinx-doc.org/")
|
||||||
|
|
||||||
assert_node(toctree[2],
|
assert_node(toctree[2],
|
||||||
|
Loading…
Reference in New Issue
Block a user