From 19740d45a1dc51627076f19578fe837c63de7c25 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Fri, 8 Feb 2019 17:40:12 +0900 Subject: Add `NoMethodError` tests to `mruby-enumerator` --- mrbgems/mruby-enumerator/mrblib/enumerator.rb | 9 ++------- mrbgems/mruby-enumerator/test/enumerator.rb | 7 +++++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/mrbgems/mruby-enumerator/mrblib/enumerator.rb b/mrbgems/mruby-enumerator/mrblib/enumerator.rb index cecc424e6..457687268 100644 --- a/mrbgems/mruby-enumerator/mrblib/enumerator.rb +++ b/mrbgems/mruby-enumerator/mrblib/enumerator.rb @@ -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 diff --git a/mrbgems/mruby-enumerator/test/enumerator.rb b/mrbgems/mruby-enumerator/test/enumerator.rb index 57f971fba..d609cadb5 100644 --- a/mrbgems/mruby-enumerator/test/enumerator.rb +++ b/mrbgems/mruby-enumerator/test/enumerator.rb @@ -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 -- cgit v1.2.3