public void TypeAn_FuncDef_Globals()
{
fs.Dir("foo")
.File("test.py",
@"
x = 'default'
def crunk(a):
global x
if x != 'default':
print 'Yo'
print a
x = ''
return 'fun'
");
an.Analyze(@"\foo");
an.Finish();
var sExp =
@"(binding:kind=MODULE:node=(module:\foo\test.py):type=test:qname=.foo.test:refs=[])" + nl +
@"(binding:kind=SCOPE:node=x:type=str:qname=.foo.test.x:refs=[x,x,x])" + nl +
@"(binding:kind=FUNCTION:node=crunk:type=? -> str:qname=.foo.test.crunk:refs=[])" + nl +
@"(binding:kind=PARAMETER:node=a:type=?:qname=.foo.test.crunk.a:refs=[a])" + nl;
Console.WriteLine(BindingsToString());
Assert.Equal(sExp, BindingsToString());
}