1from pluggy import _formatdef, varnames 2 3 4def test_varnames(): 5 def f(x): 6 i = 3 # noqa 7 8 class A(object): 9 def f(self, y): 10 pass 11 12 class B(object): 13 def __call__(self, z): 14 pass 15 16 assert varnames(f) == (("x",), ()) 17 assert varnames(A().f) == (('y',), ()) 18 assert varnames(B()) == (('z',), ()) 19 20 21def test_varnames_default(): 22 def f(x, y=3): 23 pass 24 25 assert varnames(f) == (("x",), ("y",)) 26 27 28def test_varnames_class(): 29 class C(object): 30 def __init__(self, x): 31 pass 32 33 class D(object): 34 pass 35 36 class E(object): 37 def __init__(self, x): 38 pass 39 40 class F(object): 41 pass 42 43 assert varnames(C) == (("x",), ()) 44 assert varnames(D) == ((), ()) 45 assert varnames(E) == (("x",), ()) 46 assert varnames(F) == ((), ()) 47 48 49def test_formatdef(): 50 def function1(): 51 pass 52 53 assert _formatdef(function1) == 'function1()' 54 55 def function2(arg1): 56 pass 57 58 assert _formatdef(function2) == "function2(arg1)" 59 60 def function3(arg1, arg2="qwe"): 61 pass 62 63 assert _formatdef(function3) == "function3(arg1, arg2='qwe')" 64 65 def function4(arg1, *args, **kwargs): 66 pass 67 68 assert _formatdef(function4) == "function4(arg1, *args, **kwargs)" 69