mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #4266 from shuujii/add-no_method_error-tests-to-enumerator
Add `NoMethodError` tests to `mruby-enumerator`
This commit is contained in:
@@ -118,13 +118,8 @@ class Enumerator
|
||||
def initialize(obj=NONE, meth=:each, *args, &block)
|
||||
if block
|
||||
obj = Generator.new(&block)
|
||||
else
|
||||
if obj == NONE
|
||||
raise ArgumentError, "wrong number of arguments (given 0, expected 1+)"
|
||||
end
|
||||
if @obj && !self.respond_to?(meth)
|
||||
raise NoMethodError, "undefined method #{meth}"
|
||||
end
|
||||
elsif obj == NONE
|
||||
raise ArgumentError, "wrong number of arguments (given 0, expected 1+)"
|
||||
end
|
||||
|
||||
@obj = obj
|
||||
|
||||
@@ -6,11 +6,11 @@ class << @obj
|
||||
end
|
||||
end
|
||||
|
||||
assert 'Enumerator' do
|
||||
assert 'Enumerator.class' do
|
||||
assert_equal Class, Enumerator.class
|
||||
end
|
||||
|
||||
assert 'Enumerator' do
|
||||
assert 'Enumerator.superclass' do
|
||||
assert_equal Object, Enumerator.superclass
|
||||
end
|
||||
|
||||
@@ -418,7 +418,10 @@ assert 'nested iteration' do
|
||||
end
|
||||
|
||||
assert 'Kernel#to_enum' do
|
||||
e = nil
|
||||
assert_equal Enumerator, [].to_enum.class
|
||||
assert_nothing_raised { e = [].to_enum(:_not_implemented_) }
|
||||
assert_raise(NoMethodError) { e.first }
|
||||
end
|
||||
|
||||
assert 'modifying existing methods' do
|
||||
|
||||
Reference in New Issue
Block a user