Index: test/mjsunit/harmony/typed-array-includes.js |
diff --git a/test/mjsunit/harmony/typed-array-includes.js b/test/mjsunit/harmony/typed-array-includes.js |
deleted file mode 100644 |
index 017a4301ee49d50f5fa092db708903504947aff1..0000000000000000000000000000000000000000 |
--- a/test/mjsunit/harmony/typed-array-includes.js |
+++ /dev/null |
@@ -1,203 +0,0 @@ |
-// Copyright 2015 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Flags: --harmony-array-includes |
- |
-// Largely ported from |
-// https://github.com/tc39/Array.prototype.includes/tree/master/test/built-ins/TypedArray/prototype/includes |
-// using https://www.npmjs.org/package/test262-to-mjsunit with further edits |
- |
- |
-function testTypedArrays(callback) { |
- [ |
- Uint8Array, |
- Int8Array, |
- Uint16Array, |
- Int16Array, |
- Uint32Array, |
- Int32Array, |
- Uint8ClampedArray, |
- Float32Array, |
- Float64Array |
- ] |
- .forEach(callback); |
-} |
- |
-testTypedArrays.floatOnly = function (callback) { |
- [Float32Array, Float64Array].forEach(callback); |
-}; |
- |
- |
-// %TypedArray%.prototype.includes throws a TypeError when used on non-typed |
-// arrays |
-(function() { |
- var taIncludes = Uint8Array.prototype.includes; |
- |
- assertThrows(function() { |
- taIncludes.call({ |
- length: 2, |
- 0: 1, |
- 1: 2 |
- }, 2); |
- }, TypeError); |
- |
- assertThrows(function() { |
- taIncludes.call([1, 2, 3], 2); |
- }, TypeError); |
- |
- assertThrows(function() { |
- taIncludes.call(null, 2); |
- }, TypeError); |
- |
- assertThrows(function() { |
- taIncludes.call(undefined, 2); |
- }, TypeError); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should terminate if ToNumber ends up being |
-// called on a symbol fromIndex |
-(function() { |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([1, 2, 3]); |
- |
- assertThrows(function() { |
- ta.includes(2, Symbol()); |
- }, TypeError); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should terminate if an exception occurs |
-// converting the fromIndex to a number |
-(function() { |
- function Test262Error() {} |
- |
- var fromIndex = { |
- valueOf: function() { |
- throw new Test262Error(); |
- } |
- }; |
- |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([1, 2, 3]); |
- |
- assertThrows(function() { |
- ta.includes(2, fromIndex); |
- }, Test262Error); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should search the whole array, as the |
-// optional second argument fromIndex defaults to 0 |
-(function() { |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([1, 2, 3]); |
- assertTrue(ta.includes(1)); |
- assertTrue(ta.includes(2)); |
- assertTrue(ta.includes(3)); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes returns false if fromIndex is greater or |
-// equal to the length of the array |
-(function() { |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([1, 2]); |
- assertFalse(ta.includes(2, 3)); |
- assertFalse(ta.includes(2, 2)); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes searches the whole array if the computed |
-// index from the given negative fromIndex argument is less than 0 |
-(function() { |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([1, 3]); |
- assertTrue(ta.includes(1, -4)); |
- assertTrue(ta.includes(1, -4)); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should use a negative value as the offset |
-// from the end of the array to compute fromIndex |
-(function() { |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([12, 13]); |
- assertTrue(ta.includes(13, -1)); |
- assertFalse(ta.includes(12, -1)); |
- assertTrue(ta.includes(12, -2)); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes converts its fromIndex parameter to an |
-// integer |
-(function() { |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([1, 2, 3]); |
- assertFalse(ta.includes(1, 3.3)); |
- assertTrue(ta.includes(1, -Infinity)); |
- assertTrue(ta.includes(3, 2.9)); |
- assertTrue(ta.includes(3, NaN)); |
- |
- var numberLike = { |
- valueOf: function() { |
- return 2; |
- } |
- }; |
- |
- assertFalse(ta.includes(1, numberLike)); |
- assertFalse(ta.includes(1, "2")); |
- assertTrue(ta.includes(3, numberLike)); |
- assertTrue(ta.includes(3, "2")); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should have length 1 |
-(function() { |
- assertEquals(1, Uint8Array.prototype.includes.length); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should have name property with value |
-// 'includes' |
-(function() { |
- assertEquals("includes", Uint8Array.prototype.includes.name); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should always return false on zero-length |
-// typed arrays |
-(function() { |
- testTypedArrays(function(TypedArrayConstructor) { |
- var ta = new TypedArrayConstructor([]); |
- assertFalse(ta.includes(2)); |
- assertFalse(ta.includes()); |
- assertFalse(ta.includes(undefined)); |
- assertFalse(ta.includes(NaN)); |
- }); |
-})(); |
- |
- |
-// %TypedArray%.prototype.includes should use the SameValueZero algorithm to |
-// compare |
-(function() { |
- testTypedArrays.floatOnly(function(FloatArrayConstructor) { |
- assertTrue(new FloatArrayConstructor([1, 2, NaN]).includes(NaN)); |
- assertTrue(new FloatArrayConstructor([1, 2, -0]).includes(+0)); |
- assertTrue(new FloatArrayConstructor([1, 2, -0]).includes(-0)); |
- assertTrue(new FloatArrayConstructor([1, 2, +0]).includes(-0)); |
- assertTrue(new FloatArrayConstructor([1, 2, +0]).includes(+0)); |
- assertFalse(new FloatArrayConstructor([1, 2, -Infinity]).includes(+Infinity)); |
- assertTrue(new FloatArrayConstructor([1, 2, -Infinity]).includes(-Infinity)); |
- assertFalse(new FloatArrayConstructor([1, 2, +Infinity]).includes(-Infinity)); |
- assertTrue(new FloatArrayConstructor([1, 2, +Infinity]).includes(+Infinity)); |
- }); |
-})(); |