1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Refined portability of test for [Bug #17739]

The order of arguments to callback of qsort is not defined.
That means `a` may not be 3 at all.
This commit is contained in:
Nobuyoshi Nakada 2021-05-22 14:32:22 +09:00
parent 8b00bfb7c2
commit c4162a4cb8
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6

View file

@ -1667,10 +1667,11 @@ class TestArray < Test::Unit::TestCase
array = [1, 2, 3, 4, 5] array = [1, 2, 3, 4, 5]
frozen_array = nil frozen_array = nil
assert_raise(FrozenError) do assert_raise(FrozenError) do
count = 0
array.sort! do |a, b| array.sort! do |a, b|
array.freeze if a == 3 array.freeze if (count += 1) == 6
frozen_array ||= array.map.to_a if array.frozen? frozen_array ||= array.map.to_a if array.frozen?
1 b <=> a
end end
end end
assert_equal(frozen_array, array) assert_equal(frozen_array, array)