@@ -267,6 +267,10 @@ func TestGrammar(t *testing.T) {
267
267
{"class A(B,C): pass" , "exec" , "Module(body=[ClassDef(name='A', bases=[Name(id='B', ctx=Load()), Name(id='C', ctx=Load())], keywords=[], starargs=None, kwargs=None, body=[Pass()], decorator_list=[])])" },
268
268
{"class A(B,C,D=F): pass" , "exec" , "Module(body=[ClassDef(name='A', bases=[Name(id='B', ctx=Load()), Name(id='C', ctx=Load())], keywords=[keyword(arg='D', value=Name(id='F', ctx=Load()))], starargs=None, kwargs=None, body=[Pass()], decorator_list=[])])" },
269
269
{"class A(B,C,D=F,*AS,**KWS): pass" , "exec" , "Module(body=[ClassDef(name='A', bases=[Name(id='B', ctx=Load()), Name(id='C', ctx=Load())], keywords=[keyword(arg='D', value=Name(id='F', ctx=Load()))], starargs=Name(id='AS', ctx=Load()), kwargs=Name(id='KWS', ctx=Load()), body=[Pass()], decorator_list=[])])" },
270
+ {"@dec\n def fn():\n pass\n " , "exec" , "Module(body=[FunctionDef(name='fn', args=arguments(args=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[Name(id='dec', ctx=Load())], returns=None)])" },
271
+ {"@dec()\n def fn():\n pass\n " , "exec" , "Module(body=[FunctionDef(name='fn', args=arguments(args=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[Call(func=Name(id='dec', ctx=Load()), args=[], keywords=[], starargs=None, kwargs=None)], returns=None)])" },
272
+ {"@dec(a,b,c=d,*args,**kwargs)\n def fn():\n pass\n " , "exec" , "Module(body=[FunctionDef(name='fn', args=arguments(args=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[Call(func=Name(id='dec', ctx=Load()), args=[Name(id='a', ctx=Load()), Name(id='b', ctx=Load())], keywords=[keyword(arg='c', value=Name(id='d', ctx=Load()))], starargs=Name(id='args', ctx=Load()), kwargs=Name(id='kwargs', ctx=Load()))], returns=None)])" },
273
+ {"@dec1\n @dec2()\n @dec3(a)\n @dec4(a,b)\n def fn():\n pass\n " , "exec" , "Module(body=[FunctionDef(name='fn', args=arguments(args=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Pass()], decorator_list=[Name(id='dec1', ctx=Load()), Call(func=Name(id='dec2', ctx=Load()), args=[], keywords=[], starargs=None, kwargs=None), Call(func=Name(id='dec3', ctx=Load()), args=[Name(id='a', ctx=Load())], keywords=[], starargs=None, kwargs=None), Call(func=Name(id='dec4', ctx=Load()), args=[Name(id='a', ctx=Load()), Name(id='b', ctx=Load())], keywords=[], starargs=None, kwargs=None)], returns=None)])" },
270
274
// END TESTS
271
275
} {
272
276
Ast , err := ParseString (test .in , test .mode )
0 commit comments