Sha256: d0429e39857b71c80cbf3786924b7355cc3b5b73764a95980b09b1bf2a822245
Contents?: true
Size: 1.1 KB
Versions: 83
Compression:
Stored size: 1.1 KB
Contents
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper' require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/fixtures/classes' describe "Kernel#clone" do before :each do ScratchPad.clear @obj = KernelSpecs::Duplicate.new 1, :a end it "calls #initialize_copy on the new instance" do clone = @obj.clone ScratchPad.recorded.should_not == @obj.object_id ScratchPad.recorded.should == clone.object_id end it "copies instance variables" do clone = @obj.clone clone.one.should == 1 clone.two.should == :a end it "copies singleton methods" do def @obj.special() :the_one end clone = @obj.clone clone.special.should == :the_one end it "copies modules included in the singleton class" do class << @obj include KernelSpecs::DuplicateM end clone = @obj.clone clone.repr.should == "KernelSpecs::Duplicate" end it "copies constants defined in the singleton class" do class << @obj CLONE = :clone end clone = @obj.clone class << clone CLONE.should == :clone end end end
Version data entries
83 entries across 83 versions & 1 rubygems