summaryrefslogtreecommitdiff
path: root/spec/rubyspec/library/weakref
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/library/weakref')
-rw-r--r--spec/rubyspec/library/weakref/__getobj___spec.rb17
-rw-r--r--spec/rubyspec/library/weakref/fixtures/classes.rb24
-rw-r--r--spec/rubyspec/library/weakref/send_spec.rb37
-rw-r--r--spec/rubyspec/library/weakref/weakref_alive_spec.rb15
4 files changed, 0 insertions, 93 deletions
diff --git a/spec/rubyspec/library/weakref/__getobj___spec.rb b/spec/rubyspec/library/weakref/__getobj___spec.rb
deleted file mode 100644
index e75b8f4704..0000000000
--- a/spec/rubyspec/library/weakref/__getobj___spec.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-require File.expand_path('../../../spec_helper', __FILE__)
-require File.expand_path('../fixtures/classes', __FILE__)
-
-describe "WeakRef#__getobj__" do
- it "returns the object if it is reachable" do
- obj = Object.new
- ref = WeakRef.new(obj)
- ref.__getobj__.should equal(obj)
- end
-
- it "raises WeakRef::RefError if the object is no longer reachable" do
- ref = WeakRefSpec.make_dead_weakref
- lambda {
- ref.__getobj__
- }.should raise_error(WeakRef::RefError)
- end
-end
diff --git a/spec/rubyspec/library/weakref/fixtures/classes.rb b/spec/rubyspec/library/weakref/fixtures/classes.rb
deleted file mode 100644
index 560c58b041..0000000000
--- a/spec/rubyspec/library/weakref/fixtures/classes.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-require 'weakref'
-
-# From MRI test_weakref.rb
-class WeakRefSpec
- def self.make_weakref(level = 10)
- if level > 0
- make_weakref(level - 1)
- else
- WeakRef.new(Object.new)
- end
- end
-
- def self.make_dead_weakref
- weaks = []
- weak = nil
- 10_000.times do
- weaks << make_weakref
- GC.start
- GC.start
- break if weak = weaks.find { |w| !w.weakref_alive? }
- end
- weak
- end
-end
diff --git a/spec/rubyspec/library/weakref/send_spec.rb b/spec/rubyspec/library/weakref/send_spec.rb
deleted file mode 100644
index 173e1055dd..0000000000
--- a/spec/rubyspec/library/weakref/send_spec.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-require File.expand_path('../../../spec_helper', __FILE__)
-require 'weakref'
-
-describe "WeakRef#__send__" do
- module WeakRefSpecs
- class << self
- def delegated_method
- :result
- end
-
- def protected_method
- :result
- end
- protected :protected_method
-
- def private_method
- :result
- end
- private :private_method
- end
- end
-
- it "delegates to public methods of the weakly-referenced object" do
- wr = WeakRef.new(WeakRefSpecs)
- wr.delegated_method.should == :result
- end
-
- it "delegates to protected methods of the weakly-referenced object" do
- wr = WeakRef.new(WeakRefSpecs)
- lambda { wr.protected_method }.should raise_error(NameError)
- end
-
- it "does not delegate to private methods of the weakly-referenced object" do
- wr = WeakRef.new(WeakRefSpecs)
- lambda { wr.private_method }.should raise_error(NameError)
- end
-end
diff --git a/spec/rubyspec/library/weakref/weakref_alive_spec.rb b/spec/rubyspec/library/weakref/weakref_alive_spec.rb
deleted file mode 100644
index b3c2eab620..0000000000
--- a/spec/rubyspec/library/weakref/weakref_alive_spec.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-require File.expand_path('../../../spec_helper', __FILE__)
-require File.expand_path('../fixtures/classes', __FILE__)
-
-describe "WeakRef#weakref_alive?" do
- it "returns true if the object is reachable" do
- obj = Object.new
- ref = WeakRef.new(obj)
- ref.weakref_alive?.should == true
- end
-
- it "returns a falsey value if the object is no longer reachable" do
- ref = WeakRefSpec.make_dead_weakref
- [false, nil].should include(ref.weakref_alive?)
- end
-end