spec/array_spec.rb in visionmedia-rext-0.0.7 vs spec/array_spec.rb in visionmedia-rext-0.0.8

- old
+ new

@@ -18,7 +18,43 @@ it "should return elements up to position" do @items.to(1).should == %w( some foo ) end end + describe "#chunk" do + it "should split an array into several containing the length of n" do + (1..9).to_a.chunk(3).should == [[1,2,3], [4,5,6], [7,8,9]] + end + + it "should accept a block, yielding each chunk" do + chunks = [] + (1..9).to_a.in_groups_of(3) do |chunk| + chunks << chunk + end + chunks.should == [[1,2,3], [4,5,6], [7,8,9]] + end + + it "should pad with nil by default" do + (1..5).to_a.in_groups_of(4).should == [[1,2,3,4], [5,nil,nil,nil]] + end + + it "should not padd when pad_with is false" do + (1..6).to_a.in_groups_of(4, false).should == [[1,2,3,4], [5,6]] + end + end + + describe "#pad" do + it "should pad with nil by default" do + [1,2].pad(4).should == [1, 2, nil, nil] + end + + it "should pad an with an object" do + [1,2].pad(3 ,'x').should == [1, 2, 'x'] + end + + it "should do nothing when the array is of expected length" do + [1,2].pad(2).should == [1,2] + end + end + end end \ No newline at end of file