Sha256: 3a29e0fa67e85812dd8fc8e058453daab4630e2f8f3260f7e9c9a11fa2935deb
Contents?: true
Size: 828 Bytes
Versions: 6
Compression:
Stored size: 828 Bytes
Contents
# backtick_javascript: true describe "Array#dup" do it "should use slice optimization" do a = Array.new `a.slice = function() { return ['sliced'] }` lambda { a.dup }.should_not raise_error a.dup.should == ['sliced'] end it "should use slice optimization on Array subclass" do subclass = Class.new(Array) a = subclass.new `a.slice = function() { return ['sliced'] }` lambda { a.dup }.should_not raise_error a.dup.should == ['sliced'] end it "should not use slice optimization when allocation is redefined" do subclass = Class.new(Array) a = subclass.new subclass.define_singleton_method(:allocate) { raise 'Overriden method, no slice optimization for you!' } lambda { a.dup }.should raise_error # dup should call allocate because the method is overriden end end
Version data entries
6 entries across 6 versions & 1 rubygems