File: //usr/local/rvm/src/ruby-2.5.9/spec/ruby/core/enumerator/lazy/fixtures/classes.rb
# -*- encoding: us-ascii -*-
module EnumeratorLazySpecs
class SpecificError < Exception; end
class YieldsMixed
def self.initial_yields
[nil, 0, 0, 0, 0, nil, :default_arg, [], [], [0], [0, 1], [0, 1, 2]]
end
def self.gathered_yields
[nil, 0, [0, 1], [0, 1, 2], [0, 1, 2], nil, :default_arg, [], [], [0], [0, 1], [0, 1, 2]]
end
def self.gathered_non_array_yields
[nil, 0, nil, :default_arg]
end
def self.gathered_yields_with_args(arg, *args)
[nil, 0, [0, 1], [0, 1, 2], [0, 1, 2], nil, arg, args, [], [0], [0, 1], [0, 1, 2]]
end
def each(arg=:default_arg, *args)
yield
yield 0
yield 0, 1
yield 0, 1, 2
yield(*[0, 1, 2])
yield nil
yield arg
yield args
yield []
yield [0]
yield [0, 1]
yield [0, 1, 2]
end
end
class EventsMixed
def each
ScratchPad << :before_yield
yield 0
ScratchPad << :after_yield
raise SpecificError
ScratchPad << :after_error
:should_not_reach_here
end
end
end