(length)
| 113 | |
| 114 | |
| 115 | function TestSparseNonArraySorting(length) { |
| 116 | assertTrue(length > 101); |
| 117 | var obj = {length: length}; |
| 118 | obj[0] = 42; |
| 119 | obj[10] = 37; |
| 120 | obj[100] = undefined; |
| 121 | obj[length - 1] = null; |
| 122 | Array.prototype.sort.call(obj); |
| 123 | assertEquals(length, obj.length, "objsort length unaffected"); |
| 124 | assertEquals(37, obj[0], "objsort smallest number"); |
| 125 | assertEquals(42, obj[1], "objsort largest number"); |
| 126 | assertEquals(null, obj[2], "objsort null"); |
| 127 | assertEquals(undefined, obj[3], "objsort undefined"); |
| 128 | assertTrue(3 in obj, "objsort undefined retained"); |
| 129 | assertFalse(4 in obj, "objsort non-existing retained"); |
| 130 | } |
| 131 | |
| 132 | TestSparseNonArraySorting(1000); |
| 133 | TestSparseNonArraySorting(5000); |
no test coverage detected