Sha256: 28c52ac295156c24a9397c3dc923dabbe1239b1a7e9bbfc494b71d3c067eda52
Contents?: true
Size: 875 Bytes
Versions: 75
Compression:
Stored size: 875 Bytes
Contents
require 'spec_helper' describe V8::C::Handle do include V8::MemSpec context "A JavaScript Object reflected into Ruby" do before do @weakref_callback = WeakrefCallback.new end it "has a strong reference from the ruby side, which is not released until the Ruby reference goes away" do handle = c::Handle::New(object = c::Object::New()) handle.MakeWeak(nil, @weakref_callback) ruby_gc do v8_gc @weakref_callback.should_not have_been_invoked handle.should_not be_dead end ruby_gc do object = nil v8_gc @weakref_callback.should have_been_invoked handle.should be_dead end end private class WeakrefCallback def call(value, parameters) @invoked = true end def has_been_invoked? @invoked end end end end
Version data entries
75 entries across 75 versions & 5 rubygems