diff options
Diffstat (limited to 'spec/ruby/core/kernel/initialize_copy_spec.rb')
| -rw-r--r-- | spec/ruby/core/kernel/initialize_copy_spec.rb | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/spec/ruby/core/kernel/initialize_copy_spec.rb b/spec/ruby/core/kernel/initialize_copy_spec.rb index fe08d184ad..ebac0c14de 100644 --- a/spec/ruby/core/kernel/initialize_copy_spec.rb +++ b/spec/ruby/core/kernel/initialize_copy_spec.rb @@ -1,17 +1,24 @@ require_relative '../../spec_helper' describe "Kernel#initialize_copy" do + it "returns self" do + obj = Object.new + obj.send(:initialize_copy, obj).should.equal?(obj) + end + it "does nothing if the argument is the same as the receiver" do obj = Object.new obj.send(:initialize_copy, obj).should.equal?(obj) - obj.freeze + + obj = Object.new.freeze obj.send(:initialize_copy, obj).should.equal?(obj) + 1.send(:initialize_copy, 1).should.equal?(1) end it "raises FrozenError if the receiver is frozen" do - -> { Object.new.freeze.send(:initialize_copy, Object.new) }.should raise_error(FrozenError) - -> { 1.send(:initialize_copy, Object.new) }.should raise_error(FrozenError) + -> { Object.new.freeze.send(:initialize_copy, Object.new) }.should.raise(FrozenError) + -> { 1.send(:initialize_copy, Object.new) }.should.raise(FrozenError) end it "raises TypeError if the objects are of different class" do @@ -20,10 +27,10 @@ describe "Kernel#initialize_copy" do a = klass.new b = sub.new message = 'initialize_copy should take same class object' - -> { a.send(:initialize_copy, b) }.should raise_error(TypeError, message) - -> { b.send(:initialize_copy, a) }.should raise_error(TypeError, message) + -> { a.send(:initialize_copy, b) }.should.raise(TypeError, message) + -> { b.send(:initialize_copy, a) }.should.raise(TypeError, message) - -> { a.send(:initialize_copy, 1) }.should raise_error(TypeError, message) - -> { a.send(:initialize_copy, 1.0) }.should raise_error(TypeError, message) + -> { a.send(:initialize_copy, 1) }.should.raise(TypeError, message) + -> { a.send(:initialize_copy, 1.0) }.should.raise(TypeError, message) end end |
