]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-121671: Increase test coverage of `ast.get_docstring` (GH-121674) (GH-121691)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 13 Jul 2024 13:30:40 +0000 (15:30 +0200)
committerGitHub <noreply@github.com>
Sat, 13 Jul 2024 13:30:40 +0000 (13:30 +0000)
(cherry picked from commit 0a26aa5007cb32610366c31fbac846b5fe2f4f90)

Co-authored-by: Tomas R <tomas.roun8@gmail.com>
Lib/test/test_ast.py

index 744cd238ea140723cb19648970cd3885b9b29c0d..4362ea61c6be26072e2b8ca6f4164310647d991f 100644 (file)
@@ -1626,6 +1626,12 @@ Module(
         node = ast.parse('async def foo():\n  """spam\n  ham"""')
         self.assertEqual(ast.get_docstring(node.body[0]), 'spam\nham')
 
+        node = ast.parse('async def foo():\n  """spam\n  ham"""')
+        self.assertEqual(ast.get_docstring(node.body[0], clean=False), 'spam\n  ham')
+
+        node = ast.parse('x')
+        self.assertRaises(TypeError, ast.get_docstring, node.body[0])
+
     def test_get_docstring_none(self):
         self.assertIsNone(ast.get_docstring(ast.parse('')))
         node = ast.parse('x = "not docstring"')
@@ -1650,6 +1656,9 @@ Module(
         node = ast.parse('async def foo():\n  x = "not docstring"')
         self.assertIsNone(ast.get_docstring(node.body[0]))
 
+        node = ast.parse('async def foo():\n  42')
+        self.assertIsNone(ast.get_docstring(node.body[0]))
+
     def test_multi_line_docstring_col_offset_and_lineno_issue16806(self):
         node = ast.parse(
             '"""line one\nline two"""\n\n'