haikuwebkit/LayoutTests/js/script-tests/sort-stability.js

34 lines
686 B
JavaScript

//@ skip if $hostOS == "windows"
description(
"This tests that sort() is a stable sort."
);
function clone(source, target) {
for (i = 0; i < source.length; i++) {
target[i] = source[i];
}
}
var arr = [];
arr[0] = new Number(1);
arr[1] = new Number(2);
arr[2] = new Number(1);
arr[3] = new Number(2);
var sortArr = [];
clone(arr, sortArr);
sortArr.sort();
shouldBe('arr[0]', 'sortArr[0]');
shouldBe('arr[1]', 'sortArr[2]');
shouldBe('arr[2]', 'sortArr[1]');
shouldBe('arr[3]', 'sortArr[3]');
// Just try again...
sortArr.sort();
shouldBe('arr[0]', 'sortArr[0]');
shouldBe('arr[1]', 'sortArr[2]');
shouldBe('arr[2]', 'sortArr[1]');
shouldBe('arr[3]', 'sortArr[3]');