summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_clinic.py32
-rwxr-xr-xTools/clinic/clinic.py4
2 files changed, 33 insertions, 3 deletions
diff --git a/Lib/test/test_clinic.py b/Lib/test/test_clinic.py
index dd17d02..84b6a19 100644
--- a/Lib/test/test_clinic.py
+++ b/Lib/test/test_clinic.py
@@ -1057,6 +1057,38 @@ class ClinicParserTest(TestCase):
Okay, we're done here.
""")
+ def test_docstring_with_comments(self):
+ function = self.parse_function(dedent("""
+ module foo
+ foo.bar
+ x: int
+ # We're about to have
+ # the documentation for x.
+ Documentation for x.
+ # We've just had
+ # the documentation for x.
+ y: int
+
+ # We're about to have
+ # the documentation for foo.
+ This is the documentation for foo.
+ # We've just had
+ # the documentation for foo.
+
+ Okay, we're done here.
+ """))
+ self.checkDocstring(function, """
+ bar($module, /, x, y)
+ --
+
+ This is the documentation for foo.
+
+ x
+ Documentation for x.
+
+ Okay, we're done here.
+ """)
+
def test_parser_regression_special_character_in_parameter_column_of_docstring_first_line(self):
function = self.parse_function(dedent("""
module os
diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py
index 917f1bf..7fbae1e 100755
--- a/Tools/clinic/clinic.py
+++ b/Tools/clinic/clinic.py
@@ -4685,9 +4685,7 @@ class DSLParser:
# this line is permitted to start with whitespace.
# we'll call this number of spaces F (for "function").
- if not self.valid_line(line):
- return
-
+ assert self.valid_line(line)
self.indent.infer(line)
# are we cloning?