From c31f6285c71ec0ad8052205d7029986453c465ce Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 7 Mar 2018 12:04:43 +0000 Subject: complex.c: check type * complex.c (m_cos, m_sin): determine the type by the internal type, not by a method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_complex.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test') diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb index 48fb9947a3..c2ed1b0827 100644 --- a/test/ruby/test_complex.rb +++ b/test/ruby/test_complex.rb @@ -970,4 +970,18 @@ class Complex_Test < Test::Unit::TestCase assert_equal(obj, c.real) assert_equal(-1, c.imag) end + + def test_canonicalize_polar + obj = Class.new(Numeric) do + def initialize + @x = 2 + end + def real? + (@x -= 1) > 0 + end + end.new + assert_raise(TypeError) do + Complex.polar(1, obj) + end + end end -- cgit v1.2.3