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:
parent
8b00bfb7c2
commit
c4162a4cb8
1 changed files with 3 additions and 2 deletions
|
@ -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)
|
||||||
|
|
Loading…
Add table
Reference in a new issue