summaryrefslogtreecommitdiff
path: root/tests/test_util_docstrings.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_util_docstrings.py')
-rw-r--r--tests/test_util_docstrings.py45
1 files changed, 31 insertions, 14 deletions
diff --git a/tests/test_util_docstrings.py b/tests/test_util_docstrings.py
index 543feca2a..2d406b81c 100644
--- a/tests/test_util_docstrings.py
+++ b/tests/test_util_docstrings.py
@@ -8,31 +8,48 @@
:license: BSD, see LICENSE for details.
"""
-from sphinx.util.docstrings import extract_metadata, prepare_commentdoc, prepare_docstring
+from sphinx.util.docstrings import prepare_commentdoc, prepare_docstring, separate_metadata
-def test_extract_metadata():
- metadata = extract_metadata(":meta foo: bar\n"
- ":meta baz:\n")
+def test_separate_metadata():
+ # metadata only
+ text = (":meta foo: bar\n"
+ ":meta baz:\n")
+ docstring, metadata = separate_metadata(text)
+ assert docstring == ''
assert metadata == {'foo': 'bar', 'baz': ''}
+ # non metadata field list item
+ text = (":meta foo: bar\n"
+ ":param baz:\n")
+ docstring, metadata = separate_metadata(text)
+ assert docstring == ':param baz:\n'
+ assert metadata == {'foo': 'bar'}
+
# field_list like text following just after paragaph is not a field_list
- metadata = extract_metadata("blah blah blah\n"
- ":meta foo: bar\n"
- ":meta baz:\n")
+ text = ("blah blah blah\n"
+ ":meta foo: bar\n"
+ ":meta baz:\n")
+ docstring, metadata = separate_metadata(text)
+ assert docstring == text
assert metadata == {}
# field_list like text following after blank line is a field_list
- metadata = extract_metadata("blah blah blah\n"
- "\n"
- ":meta foo: bar\n"
- ":meta baz:\n")
+ text = ("blah blah blah\n"
+ "\n"
+ ":meta foo: bar\n"
+ ":meta baz:\n")
+ docstring, metadata = separate_metadata(text)
+ assert docstring == "blah blah blah\n\n"
assert metadata == {'foo': 'bar', 'baz': ''}
# non field_list item breaks field_list
- metadata = extract_metadata(":meta foo: bar\n"
- "blah blah blah\n"
- ":meta baz:\n")
+ text = (":meta foo: bar\n"
+ "blah blah blah\n"
+ ":meta baz:\n")
+ docstring, metadata = separate_metadata(text)
+ assert docstring == ("blah blah blah\n"
+ ":meta baz:\n")
assert metadata == {'foo': 'bar'}