1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00
therubyracer/spec/v8/retained_objects_spec.rb
2015-07-06 01:05:37 -05:00

47 lines
1.1 KiB
Ruby

require 'v8/retained_objects'
describe V8::RetainedObjects do
let(:object) { Object.new }
let(:objects) { V8::RetainedObjects.new }
it "knows that something isn't retained" do
expect(objects).not_to be_retaining object
end
describe "adding a reference to an object" do
before do
objects.add(object)
end
it "is now retained" do
expect(objects).to be_retaining object
end
describe "removing the reference" do
before do
objects.remove(object)
end
it "is no longer retained" do
expect(objects).to_not be_retaining object
end
end
describe "adding another reference and then removing" do
before do
objects.add(object)
objects.remove(object)
end
it "is still retained" do
expect(objects).to be_retaining object
end
describe "removing one more time" do
before do
objects.remove(object)
end
it "is no longer retained" do
expect(objects).to_not be_retaining object
end
end
end
end
end