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.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/tests/test_util_docstrings.py b/tests/test_util_docstrings.py
index bfd5b58b4..2f0901d06 100644
--- a/tests/test_util_docstrings.py
+++ b/tests/test_util_docstrings.py
@@ -8,7 +8,34 @@
:license: BSD, see LICENSE for details.
"""
-from sphinx.util.docstrings import prepare_docstring, prepare_commentdoc
+from sphinx.util.docstrings import (
+ extract_metadata, prepare_docstring, prepare_commentdoc
+)
+
+
+def test_extract_metadata():
+ metadata = extract_metadata(":meta foo: bar\n"
+ ":meta baz:\n")
+ assert metadata == {'foo': 'bar', 'baz': ''}
+
+ # 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")
+ 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")
+ 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")
+ assert metadata == {'foo': 'bar'}
def test_prepare_docstring():