IronRuby.Tests.Tests.ConstantCaching_Unqualified7 C# (CSharp) Method

ConstantCaching_Unqualified7() public method

Check to see whether we don't unwrap WeakReferences accidentally, preserve object identity and unwrap null correctly.
public ConstantCaching_Unqualified7 ( ) : void
return void
        public void ConstantCaching_Unqualified7() {
            var wr = new WeakReference(new object());
            Context.DefineGlobalVariable("wr", wr);
            var result = Engine.Execute<RubyArray>(@"
C = $wr
def c; C; end   # tested cache 
r = [c, c]
C = nil
r + [c, c]
");
            Assert(ReferenceEquals(result[0], wr));
            Assert(ReferenceEquals(result[1], wr));
            Assert(ReferenceEquals(result[2], null));
            Assert(ReferenceEquals(result[3], null));
        }
Tests