1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/ruby/test_undef.rb
k0kubun b90bac322b Test for undef'ed method in class hierachy
This probably should have been `#bar` on the instance of class `Undef2` all along
[Fix GH-2015]

From: Alex Snaps <alex.snaps@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-16 04:21:57 +00:00

38 lines
587 B
Ruby

# frozen_string_literal: false
require 'test/unit'
class TestUndef < Test::Unit::TestCase
class Undef0
def foo
"foo"
end
undef foo
end
class Undef1
def bar
"bar"
end
end
class Undef2 < Undef1
undef bar
end
def test_undef
x = Undef0.new
assert_raise(NoMethodError) { x.foo }
y = Undef1.new
assert_equal "bar", y.bar
z = Undef2.new
assert_raise(NoMethodError) { z.bar }
end
def test_special_const_undef
assert_raise(TypeError) do
1.instance_eval do
undef to_s
end
end
end
end