summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Lykke Andersen <Jakob@caput.dk>2021-09-25 12:31:42 +0200
committerJakob Lykke Andersen <Jakob@caput.dk>2021-10-02 12:41:40 +0200
commit2e37c5719d21165094d86a52d70fddda64153cdc (patch)
tree6d3bebad3244264dea28abe36e495ba8279f4cdf
parente008b436838a25d714a89c662998003374a86d82 (diff)
downloadsphinx-git-2e37c5719d21165094d86a52d70fddda64153cdc.tar.gz
py nodes, PyAttribute type
-rw-r--r--sphinx/domains/python.py5
-rw-r--r--tests/test_domain_py.py7
2 files changed, 8 insertions, 4 deletions
diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py
index a749b8745..5c8780bfc 100644
--- a/sphinx/domains/python.py
+++ b/sphinx/domains/python.py
@@ -843,7 +843,10 @@ class PyAttribute(PyObject):
typ = self.options.get('type')
if typ:
annotations = _parse_annotation(typ, self.env)
- signode += addnodes.desc_annotation(typ, '', nodes.Text(': '), *annotations)
+ signode += addnodes.desc_annotation(typ, '',
+ addnodes.desc_sig_punctuation('', ':'),
+ addnodes.desc_sig_space(),
+ *annotations)
value = self.options.get('value')
if value:
diff --git a/tests/test_domain_py.py b/tests/test_domain_py.py
index 133427f82..f22f75c6c 100644
--- a/tests/test_domain_py.py
+++ b/tests/test_domain_py.py
@@ -835,15 +835,16 @@ def test_pyattribute(app):
assert_node(doctree[1][1][0], addnodes.index,
entries=[('single', 'attr (Class attribute)', 'Class.attr', '', None)])
assert_node(doctree[1][1][1], ([desc_signature, ([desc_name, "attr"],
- [desc_annotation, (": ",
+ [desc_annotation, ([desc_sig_punctuation, ':'],
+ desc_sig_space,
[pending_xref, "Optional"],
[desc_sig_punctuation, "["],
[pending_xref, "str"],
[desc_sig_punctuation, "]"])],
[desc_annotation, " = ''"])],
[desc_content, ()]))
- assert_node(doctree[1][1][1][0][1][1], pending_xref, **{"py:class": "Class"})
- assert_node(doctree[1][1][1][0][1][3], pending_xref, **{"py:class": "Class"})
+ assert_node(doctree[1][1][1][0][1][2], pending_xref, **{"py:class": "Class"})
+ assert_node(doctree[1][1][1][0][1][4], pending_xref, **{"py:class": "Class"})
assert 'Class.attr' in domain.objects
assert domain.objects['Class.attr'] == ('index', 'Class.attr', 'attribute', False)