diff options
author | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-18 14:52:46 +0000 |
---|---|---|
committer | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-18 14:52:46 +0000 |
commit | b60a7b43feaed02089c158faf0bf647327ed61f0 (patch) | |
tree | 2a8ada9bacf0c11edb940a2729e708f8b6fa624b /test/-ext-/integer/test_my_integer.rb | |
parent | 2897eb11a0d20d198a8d3f69a16c33369147749f (diff) |
* numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and add
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
Diffstat (limited to 'test/-ext-/integer/test_my_integer.rb')
-rw-r--r-- | test/-ext-/integer/test_my_integer.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/-ext-/integer/test_my_integer.rb b/test/-ext-/integer/test_my_integer.rb new file mode 100644 index 0000000000..bc4757f463 --- /dev/null +++ b/test/-ext-/integer/test_my_integer.rb @@ -0,0 +1,26 @@ +# 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 |