Merge pull request #6151 from tk0miya/6147_AssertionError_for_citation_ref

Fix AssertionError is raised for custom citation_reference node (refs: #6147)
This commit is contained in:
Takeshi KOMIYA 2019-03-09 17:29:15 +09:00 committed by GitHub
commit fd67809c1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 3 deletions

View File

@ -28,6 +28,8 @@ Bugs fixed
* #5391: A cross reference in heading is rendered as literal * #5391: A cross reference in heading is rendered as literal
* #5946: C++, fix ``cpp:alias`` problems in LaTeX (and singlehtml) * #5946: C++, fix ``cpp:alias`` problems in LaTeX (and singlehtml)
* #6147: classes attribute of ``citation_reference`` node is lost * #6147: classes attribute of ``citation_reference`` node is lost
* AssertionError is raised when custom ``citation_reference`` node having
classes attribute refers missing citation (refs: #6147)
Testing Testing
-------- --------

View File

@ -220,7 +220,7 @@ class CitationReferences(SphinxTransform):
ids=citation_ref["ids"]) ids=citation_ref["ids"])
refnode.source = citation_ref.source or citation_ref.parent.source refnode.source = citation_ref.source or citation_ref.parent.source
refnode.line = citation_ref.line or citation_ref.parent.line refnode.line = citation_ref.line or citation_ref.parent.line
refnode += nodes.Text('[' + cittext + ']') refnode += nodes.inline(cittext, '[%s]' % cittext)
for class_name in citation_ref.attributes.get('classes', []): for class_name in citation_ref.attributes.get('classes', []):
refnode['classes'].append(class_name) refnode['classes'].append(class_name)
citation_ref.parent.replace(citation_ref, refnode) citation_ref.parent.replace(citation_ref, refnode)

View File

@ -391,8 +391,8 @@ def test_html4_output(app, status, warning):
(".//a[@class='footnote-reference brackets'][@href='#id9'][@id='id1']", r"1"), (".//a[@class='footnote-reference brackets'][@href='#id9'][@id='id1']", r"1"),
(".//a[@class='footnote-reference brackets'][@href='#id10'][@id='id2']", r"2"), (".//a[@class='footnote-reference brackets'][@href='#id10'][@id='id2']", r"2"),
(".//a[@class='footnote-reference brackets'][@href='#foo'][@id='id3']", r"3"), (".//a[@class='footnote-reference brackets'][@href='#foo'][@id='id3']", r"3"),
(".//a[@class='reference internal'][@href='#bar'][@id='id4']", r"\[bar\]"), (".//a[@class='reference internal'][@href='#bar'][@id='id4']/span", r"\[bar\]"),
(".//a[@class='reference internal'][@href='#baz-qux'][@id='id5']", r"\[baz_qux\]"), (".//a[@class='reference internal'][@href='#baz-qux'][@id='id5']/span", r"\[baz_qux\]"),
(".//a[@class='footnote-reference brackets'][@href='#id11'][@id='id6']", r"4"), (".//a[@class='footnote-reference brackets'][@href='#id11'][@id='id6']", r"4"),
(".//a[@class='footnote-reference brackets'][@href='#id12'][@id='id7']", r"5"), (".//a[@class='footnote-reference brackets'][@href='#id12'][@id='id7']", r"5"),
(".//a[@class='fn-backref'][@href='#id1']", r"1"), (".//a[@class='fn-backref'][@href='#id1']", r"1"),