Update Kernel#method_missing tests for new NoMethodError message.

Also removed tests that depends on implementation details of the default
`method_missing` behavior.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2017-12-23 15:18:13 +09:00
parent 6999e45742
commit 2a5545cc25
+2 -36
View File
@@ -366,48 +366,14 @@ assert('Kernel#method_missing', '15.3.1.3.30') do
begin
no_super_test.no_super_method_named_this
rescue NoMethodError => e
assert_equal "undefined method 'no_super_method_named_this' for #{no_super_test}", e.message
assert_equal "undefined method 'no_super_method_named_this'", e.message
end
a = String.new
begin
a.no_method_named_this
rescue NoMethodError => e
assert_equal "undefined method 'no_method_named_this' for \"\"", e.message
end
class ShortInspectClass
def inspect
'An inspect string'
end
end
b = ShortInspectClass.new
begin
b.no_method_named_this
rescue NoMethodError => e
assert_equal "undefined method 'no_method_named_this' for An inspect string", e.message
end
class LongInspectClass
def inspect
"A" * 70
end
end
c = LongInspectClass.new
begin
c.no_method_named_this
rescue NoMethodError => e
assert_equal "undefined method 'no_method_named_this' for #{c}", e.message
end
class NoInspectClass
undef inspect
end
d = NoInspectClass.new
begin
d.no_method_named_this
rescue NoMethodError => e
assert_equal "undefined method 'no_method_named_this' for #{d}", e.message
assert_equal "undefined method 'no_method_named_this'", e.message
end
end