Sha256: 842bc8f823256eba0d6446e86361f99935f03efd395599caae9be072f39daed9
Contents?: true
Size: 1.61 KB
Versions: 52
Compression:
Stored size: 1.61 KB
Contents
require File.expand_path('../../../spec_helper', __FILE__) require File.expand_path('../fixtures/classes', __FILE__) describe "Class#dup" do it "duplicates both the class and the singleton class" do klass = Class.new do def hello "hello" end def self.message "text" end end klass_dup = klass.dup klass_dup.new.hello.should == "hello" klass_dup.message.should == "text" end it "retains an included module in the ancestor chain for the singleton class" do klass = Class.new mod = Module.new do def hello "hello" end end klass.extend(mod) klass_dup = klass.dup klass_dup.hello.should == "hello" end it "retains the correct ancestor chain for the singleton class" do super_klass = Class.new do def hello "hello" end def self.message "text" end end klass = Class.new(super_klass) klass_dup = klass.dup klass_dup.new.hello.should == "hello" klass_dup.message.should == "text" end ruby_version_is ""..."1.9" do it "sets the name from the class to \"\" if not assigned to a constant" do copy = CoreClassSpecs::Record.dup copy.name.should == "" end end ruby_version_is "1.9" do it "sets the name from the class to nil if not assigned to a constant" do copy = CoreClassSpecs::Record.dup copy.name.should be_nil end end it "stores the new name if assigned to a constant" do CoreClassSpecs::RecordCopy = CoreClassSpecs::Record.dup CoreClassSpecs::RecordCopy.name.should == "CoreClassSpecs::RecordCopy" end end
Version data entries
52 entries across 52 versions & 2 rubygems