public void PythonInterop_InvokeMember_Fallback2() {
if (!_driver.RunPython) return;
var py = Runtime.GetEngine("python");
ScriptScope scope = py.CreateScope();
py.Execute(@"class C: pass", scope);
AssertOutput(() =>
Engine.Execute(@"
module Kernel
def foo
Kernel.puts 'Kernel::foo' # TODO: puts should work w/o specifying the module
end
end
class Object
def foo
Kernel.puts 'Object::foo'
super
end
end
c.new.foo
", scope), @"
Object::foo
Kernel::foo
");
}