Sha256: 9d5283bcc63b189dfb2aec1d5ce57ecdca254a147b868fda05d1ae2d25687272
Contents?: true
Size: 1.05 KB
Versions: 60
Compression:
Stored size: 1.05 KB
Contents
require File.expand_path('../../../spec_helper', __FILE__) require File.expand_path('../fixtures/classes', __FILE__) require File.expand_path('../shared/enumeratorize', __FILE__) # Modifying a collection while the contents are being iterated # gives undefined behavior. See # http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/23633 describe "Array#each_index" do before :each do ScratchPad.record [] end it "passes the index of each element to the block" do a = ['a', 'b', 'c', 'd'] a.each_index { |i| ScratchPad << i } ScratchPad.recorded.should == [0, 1, 2, 3] end it "returns self" do a = [:a, :b, :c] a.each_index { |i| }.should equal(a) end it "is not confused by removing elements from the front" do a = [1, 2, 3] a.shift ScratchPad.record [] a.each_index { |i| ScratchPad << i } ScratchPad.recorded.should == [0, 1] a.shift ScratchPad.record [] a.each_index { |i| ScratchPad << i } ScratchPad.recorded.should == [0] end it_behaves_like :enumeratorize, :each_index end
Version data entries
60 entries across 60 versions & 3 rubygems