== Running test suite: ArrayUtilities -- Running test case: Array.prototype.minIndex PASS: minIndex of an empty array should be 0. PASS: minIndex of an array with one item should be the index of the item. PASS: minIndex of an increasing array should be 0. PASS: minIndex of an decreasing array should be length - 1. PASS: minIndex of a mixed array should be the index of the smallest item. PASS: minIndex of an array with duplicates should be the index of the smallest item. PASS: minIndex with a comparator of a mixed array should be the index of the smallest item. -- Running test case: Array.prototype.lowerBound PASS: lowerBound of a value before the first value should produce the first index. PASS: lowerBound of a value in the list should return the value's index. PASS: lowerBound of a value in the list should return the value's index. PASS: lowerBound of a value in the list should return the value's index. PASS: lowerBound of a duplicate value in the list should return the value's first index. PASS: lowerBound of a value in a gap in the list should return the index where the value would be. PASS: lowerBound of a value after the last value should produce the index after the last index (length). PASS: lowerBound with a comparator should invoke the comparator with the search value and a value in the list. -- Running test case: Array.prototype.upperBound PASS: upperBound of a value before the first value should produce the first index. PASS: upperBound of a value in the list should return the next index after the value. PASS: upperBound of a value in the list should return the next index after the value. PASS: upperBound of a value in the list should return the next index after the value. PASS: upperBound of a duplicate value in the list should return the next index after the value's last index. PASS: upperBound of a value in a gap in the list should return the index where the value would be. PASS: upperBound of a value after the last value should produce the index after the last index (length). PASS: upperBound with a comparator should invoke the comparator with the search value and a value in the list. -- Running test case: Array.prototype.binaryIndexOf PASS: binaryIndexOf of a value not in the list should be -1. PASS: binaryIndexOf of a value not in the list should be -1. PASS: binaryIndexOf of a value in the list should return the index of the value. PASS: binaryIndexOf of a duplicate value in the list should return the first index of the value. -- Running test case: Array.prototype.partition PASS: partition should not lose any elements. PASS: partition should keep the order of elements in the sublists. PASS: partition should handle duplicates. PASS: partition should produce an empty list for the negative side. PASS: partition should produce an empty list for the positive side. -- Running test case: Array.isTypedArray PASS: isTypedArray of non-array. PASS: isTypedArray of non-typed-array should be false. PASS: isTypedArray of Int8Array should be true. PASS: isTypedArray of Int16Array should be true. PASS: isTypedArray of Int32Array should be true. PASS: isTypedArray of Uint8Array should be true. PASS: isTypedArray of Uint8ClampedArray should be true. PASS: isTypedArray of Uint16Array should be true. PASS: isTypedArray of Uint32Array should be true. PASS: isTypedArray of Float32Array should be true. PASS: isTypedArray of Float64Array should be true. -- Running test case: Array.shallowEqual PASS: shallowEqual of empty arrays should be true. PASS: shallowEqual of an array with itself should be true. PASS: shallowEqual of equal arrays should be true. PASS: shallowEqual of equal arrays should be true. PASS: shallowEqual of unequal arrays should be false. PASS: shallowEqual of unequal arrays should be false. PASS: shallowEqual of an array and null should be false. PASS: shallowEqual of an array and non-array should be false. PASS: shallowEqual of a typed-array and it's array counterpart should be true. PASS: shallowEqual of a typed-array with itself should be true. PASS: shallowEqual of equal typed-array and it's array counterpart should be true. PASS: shallowEqual of equal typed-arrays should be true. PASS: shallowEqual of equal typed-array and it's array counterpart should be true. PASS: shallowEqual of equal typed-arrays should be true. PASS: shallowEqual of unequal typed-array and it's array counterpart should be false. PASS: shallowEqual of unequal typed-arrays should be false. PASS: shallowEqual of unequal typed-array and it's array counterpart should be false. PASS: shallowEqual of unequal typed-arrays should be false. PASS: shallowEqual of a typed-array and null should be false. PASS: shallowEqual of a typed-array and non-array should be false. PASS: shallowEqual of a non-array with itself should be false. PASS: shallowEqual of non-arrays should be false. -- Running test case: Array.diffArrays ["a"], [] => [["a",-1]] [], ["a"] => [["a",1]] ["a"], ["b"] => [["a",-1],["b",1]] ["a"], ["a"] => [["a",0]] ["a"], ["a","b"] => [["a",0],["b",1]] ["a"], ["b","a"] => [["b",1],["a",0]] ["a","b"], ["a"] => [["a",0],["b",-1]] ["b","a"], ["a"] => [["b",-1],["a",0]] ["b","a"], ["a","c"] => [["b",-1],["a",0],["c",1]] ["b","a"], ["a","c"] => [["b",-1],["a",0],["c",1]] ["b","a"], ["a","b"] => [["a",1],["b",0],["a",-1]] ["a","b","c"], ["a","d","c"] => [["a",0],["b",-1],["d",1],["c",0]] ["a","b","c"], ["c","b","a"] => [["c",1],["b",1],["a",0],["b",-1],["c",-1]] Repeating items: ["a"], ["a","a"] => [["a",0],["a",1]] ["a","a"], ["a"] => [["a",0],["a",-1]] ["a","a"], ["a","a"] => [["a",0],["a",0]] ["b","a","b"], ["a","b","a"] => [["a",1],["b",0],["a",0],["b",-1]] ["a","b","b","c"], ["c","b","b","b","a"] => [["a",-1],["c",1],["b",0],["b",0],["c",-1],["b",1],["a",1]] ["a","b","b","b","c"], ["c","b","b","a"] => [["a",-1],["c",1],["b",0],["b",0],["b",-1],["c",-1],["a",1]] ["a","a","b","b","c","c"], ["b","b","c","c","a","a"] => [["a",-1],["a",-1],["b",0],["b",0],["c",0],["c",0],["a",1],["a",1]] -- Running test case: Array.prototype.lastValue PASS: lastValue of a nonempty array should be the last value. PASS: lastValue of an empty array should be undefined. -- Running test case: Array.prototype.adjacencies [] => [] [1] => [] [1,2] => [[1,2]] [1,2,3] => [[1,2],[2,3]] [1,2,3,4] => [[1,2],[2,3],[3,4]] -- Running test case: Array.prototype.remove PASS: remove should return true when removing a value that exists. PASS: remove should only remove the first matching value. PASS: remove should return true when removing a value that exists. PASS: remove should return false when removing a value that does not exist. PASS: remove should only remove values that strictly match. PASS: remove should return false when removing a value that does not exist. PASS: remove should return false when removing a value that does not exist. PASS: remove should not affect the array if the value does not exist. -- Running test case: Array.prototype.removeAll PASS: removeAll should remove all matching values. PASS: removeAll should only remove values that strictly match. -- Running test case: Array.prototype.toggleIncludes PASS: toggleIncludes of an existing item with force true should have no effect. PASS: toggleIncludes of an existing item with force false should remove the item. PASS: toggleIncludes of a nonexistent item with force true should add the item. PASS: toggleIncludes of a nonexistent item with force false should have no effect. -- Running test case: Array.prototype.insertAtIndex PASS: insertAtIndex with index unspecified should insert at the beginning. PASS: insertAtIndex with index zero should insert at the beginning. PASS: insertAtIndex with 0 < index < length should insert at the correct location. PASS: insertAtIndex with negative index should insert from the end. PASS: insertAtIndex with index greater than array length should insert at the end. -- Running test case: Array.prototype.pushAll Array: [1,2] => [1,2,"a1","a2"] Set: [1,2] => [1,2,"s1","s2"] [1,2] => [1,2,["s1","s1"],["s2","s2"]] [1,2] => [1,2,"s1","s2"] [1,2] => [1,2,"s1","s2"] Map: [1,2] => [1,2,["m1k","m1v"],["m2k","m2v"]] [1,2] => [1,2,["m1k","m1v"],["m2k","m2v"]] [1,2] => [1,2,"m1k","m2k"] [1,2] => [1,2,"m1v","m2v"] Object: [1,2] => [1,2,["o1k","o1v"],["o2k","o2v"]] [1,2] => [1,2,"o1k","o2k"] [1,2] => [1,2,"o1v","o2v"] Generator: [1,2] => [1,2,"g1","g2"] Node: [1,2] => [1,2,,] [1,2] => [1,2,,] Object (doesn't have [Symbol.iterator]): PASS: Should produce an exception. TypeError: undefined is not a function (near '...item of iterable...')