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
Родитель 8b00bfb7c2
Коммит c4162a4cb8
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -1667,10 +1667,11 @@ class TestArray < Test::Unit::TestCase
array = [1, 2, 3, 4, 5]
frozen_array = nil
assert_raise(FrozenError) do
count = 0
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?
1
b <=> a
end
end
assert_equal(frozen_array, array)