mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
b60a7b43fe
treatment for subclasses which don't have definitions of to_f method. * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum to Integer. * ext/-test-/integer/my_integer.rb: define helper class for testing to_f method for a subclass of Integer. * ext/-test-/integer/extconf.rb: ditto. * ext/-test-/integer/init.c: ditto. * test/-ext-/integer/test_my_integer.rb: examine to_f method for a subclass of Integer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
26 lines
514 B
Ruby
26 lines
514 B
Ruby
# frozen_string_literal: false
|
|
require 'test/unit'
|
|
require "-test-/integer"
|
|
|
|
class TestIntegerExt < Test::Unit::TestCase
|
|
def test_my_integer_to_f
|
|
assert_raise(TypeError) do
|
|
Bug::Integer::MyInteger.new.to_f
|
|
end
|
|
|
|
begin
|
|
Bug::Integer::MyInteger.class_eval do
|
|
def to_f
|
|
end
|
|
end
|
|
|
|
assert_nothing_raised do
|
|
Bug::Integer::MyInteger.new.to_f
|
|
end
|
|
ensure
|
|
Bug::Integer::MyInteger.class_eval do
|
|
remove_method :to_f
|
|
end
|
|
end
|
|
end
|
|
end
|