From 3422bfcab6bfdedd10e5c85f5fd6334387712bc6 Mon Sep 17 00:00:00 2001 From: Kouhei Yanagita Date: Tue, 10 Dec 2024 11:51:49 +0900 Subject: [Bug #20936] Fix #size for Range#reverse_each --- test/ruby/test_range.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_range.rb b/test/ruby/test_range.rb index e0c1d20bd2..480f213029 100644 --- a/test/ruby/test_range.rb +++ b/test/ruby/test_range.rb @@ -823,6 +823,25 @@ class TestRange < Test::Unit::TestCase assert_equal [5, 4, 3, 2, 1], a end + def test_reverse_each_size + assert_equal(3, (1..3).reverse_each.size) + assert_equal(3, (1..3.3).reverse_each.size) + assert_raise(TypeError) { (1..nil).reverse_each.size } + assert_raise(TypeError) { (1.1..3).reverse_each.size } + assert_raise(TypeError) { (1.1..3.3).reverse_each.size } + assert_raise(TypeError) { (1.1..nil).reverse_each.size } + assert_equal(Float::INFINITY, (..3).reverse_each.size) + assert_raise(TypeError) { (nil..3.3).reverse_each.size } + assert_raise(TypeError) { (nil..nil).reverse_each.size } + + assert_equal(2, (1...3).reverse_each.size) + assert_equal(3, (1...3.3).reverse_each.size) + + assert_equal(nil, ('a'..'z').reverse_each.size) + assert_raise(TypeError) { ('a'..).reverse_each.size } + assert_raise(TypeError) { (..'z').reverse_each.size } + end + def test_begin_end assert_equal(0, (0..1).begin) assert_equal(1, (0..1).end) -- cgit v1.2.3