summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-10-23 13:42:36 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-10-23 16:44:43 +0900
commit86450d03a8c1570571c20452578cb923060e1d1f (patch)
treedf08a0af0fc039d1a455f0e5f3403625f671ed8f /test
parentc8c136265c6dd343990293016eb9904aa78a0412 (diff)
Reduce type check of arguments at Complex creation
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6618
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_complex.rb29
1 files changed, 24 insertions, 5 deletions
diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb
index 5b63b03acf..b35aedb6b0 100644
--- a/test/ruby/test_complex.rb
+++ b/test/ruby/test_complex.rb
@@ -1145,15 +1145,34 @@ class Complex_Test < Test::Unit::TestCase
end
def test_canonicalize_polar
- obj = Class.new(Numeric) do
- def initialize
- @x = 2
+ error = "not a real"
+ assert_raise_with_message(TypeError, error) do
+ Complex.polar(1i)
+ end
+ assert_raise_with_message(TypeError, error) do
+ Complex.polar(1i, 0)
+ end
+ assert_raise_with_message(TypeError, error) do
+ Complex.polar(0, 1i)
+ end
+ n = Class.new(Numeric) do
+ def initialize(x = 1)
+ @x = x
end
def real?
(@x -= 1) > 0
end
- end.new
- assert_raise(TypeError) do
+ end
+ obj = n.new
+ assert_raise_with_message(TypeError, error) do
+ Complex.polar(obj)
+ end
+ obj = n.new
+ assert_raise_with_message(TypeError, error) do
+ Complex.polar(obj, 0)
+ end
+ obj = n.new
+ assert_raise_with_message(TypeError, error) do
Complex.polar(1, obj)
end
end