Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1abd708

Browse files
committed
Issue #20226: Added tests for new features and regressions.
1 parent 2a72791 commit 1abd708

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

Lib/test/test_pydoc.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,11 @@ def test_builtin(self):
689689
self.assertIsNone(pydoc.locate(name))
690690
self.assertRaises(ImportError, pydoc.render_doc, name)
691691

692+
# test producing signatures from builtins
693+
stat_sig = pydoc.render_doc(os.stat)
694+
self.assertEqual(pydoc.plain(stat_sig).splitlines()[2],
695+
'stat(path, *, dir_fd=None, follow_symlinks=True)')
696+
692697

693698
@unittest.skipUnless(threading, 'Threading required for this test.')
694699
class PydocServerTest(unittest.TestCase):

Tools/clinic/clinic_test.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import collections
1010
import inspect
1111
from test import support
12+
import sys
1213
import unittest
1314
from unittest import TestCase
1415

@@ -277,6 +278,20 @@ def test_param_default(self):
277278
p = function.parameters['follow_symlinks']
278279
self.assertEqual(True, p.default)
279280

281+
def test_param_with_continuations(self):
282+
function = self.parse_function("module os\nos.access\n follow_symlinks: \\\n bool \\\n =\\\n True")
283+
p = function.parameters['follow_symlinks']
284+
self.assertEqual(True, p.default)
285+
286+
def test_param_default_expression(self):
287+
function = self.parse_function("module os\nos.access\n follow_symlinks: int(c_default='MAXSIZE') = sys.maxsize")
288+
p = function.parameters['follow_symlinks']
289+
self.assertEqual(sys.maxsize, p.default)
290+
self.assertEqual("MAXSIZE", p.converter.c_default)
291+
292+
s = self.parse_function_should_fail("module os\nos.access\n follow_symlinks: int = sys.maxsize")
293+
self.assertEqual(s, "Error on line 0:\nWhen you specify a named constant ('sys.maxsize') as your default value,\nyou MUST specify a valid c_default.\n")
294+
280295
def test_param_no_docstring(self):
281296
function = self.parse_function("""
282297
module os

0 commit comments

Comments
 (0)