1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
import sys
import unittest
from inspect import getfullargspec
from wrapt.arguments import formatargspec
class TestFormatargspec38(unittest.TestCase):
def assertFormatEqual(self, func, ref):
formatted = formatargspec(*getfullargspec(func))
self.assertEqual(formatted, ref)
def test_formatargspec(self):
# examples from https://www.python.org/dev/peps/pep-0570/
def name1(p1, p2, /, p_or_kw, *, kw):
pass
self.assertFormatEqual(name1, "(p1, p2, p_or_kw, *, kw)")
def name2(p1, p2=None, /, p_or_kw=None, *, kw):
pass
self.assertFormatEqual(name2, "(p1, p2=None, p_or_kw=None, *, kw)")
def name3(p1, p2=None, /, *, kw):
pass
self.assertFormatEqual(name3, "(p1, p2=None, *, kw)")
def name4(p1, p2=None, /):
pass
self.assertFormatEqual(name4, "(p1, p2=None)")
def name5(p1, p2, /, p_or_kw):
pass
self.assertFormatEqual(name5, "(p1, p2, p_or_kw)")
def name6(p1, p2, /):
pass
self.assertFormatEqual(name6, "(p1, p2)")
def name7(p_or_kw, *, kw):
pass
self.assertFormatEqual(name7, "(p_or_kw, *, kw)")
def name8(*, kw):
pass
self.assertFormatEqual(name8, "(*, kw)")
|