1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
require_relative '../../spec_helper'
describe "StopIteration" do
it "is a subclass of IndexError" do
StopIteration.superclass.should equal(IndexError)
end
end
describe "StopIteration#result" do
before :each do
obj = Object.new
def obj.each
yield :yield_returned_1
yield :yield_returned_2
:method_returned
end
@enum = obj.to_enum
end
it "returns the method-returned-object from an Enumerator" do
@enum.next
@enum.next
-> { @enum.next }.should(
raise_error(StopIteration) do |error|
error.result.should equal(:method_returned)
end
)
end
end
|