From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- .../BigUint64Array/BYTES_PER_ELEMENT.js | 26 ++++ .../BigUint64Array/browser.js | 0 .../BigUint64Array/constructor.js | 21 +++ .../BigUint64Array/is-a-constructor.js | 26 ++++ .../BigUint64Array/length.js | 30 +++++ .../TypedArrayConstructors/BigUint64Array/name.js | 38 ++++++ .../BigUint64Array/prop-desc.js | 19 +++ .../TypedArrayConstructors/BigUint64Array/proto.js | 18 +++ .../BigUint64Array/prototype.js | 26 ++++ .../BigUint64Array/prototype/BYTES_PER_ELEMENT.js | 26 ++++ .../BigUint64Array/prototype/browser.js | 0 .../BigUint64Array/prototype/constructor.js | 25 ++++ .../prototype/not-typedarray-object.js | 20 +++ .../BigUint64Array/prototype/proto.js | 19 +++ .../BigUint64Array/prototype/shell.js | 0 .../TypedArrayConstructors/BigUint64Array/shell.js | 148 +++++++++++++++++++++ 16 files changed, 442 insertions(+) create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/BYTES_PER_ELEMENT.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/browser.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/constructor.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/is-a-constructor.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/length.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/name.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prop-desc.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/proto.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/BYTES_PER_ELEMENT.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/browser.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/constructor.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/not-typedarray-object.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/proto.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/shell.js create mode 100644 js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/shell.js (limited to 'js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array') diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/BYTES_PER_ELEMENT.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/BYTES_PER_ELEMENT.js new file mode 100644 index 0000000000..0949547998 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/BYTES_PER_ELEMENT.js @@ -0,0 +1,26 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-typedarray.bytes_per_element +description: BigUint64Array.BYTES_PER_ELEMENT property descriptor +info: | + 22.2.5.1 TypedArray.BYTES_PER_ELEMENT + + The value of TypedArray.BYTES_PER_ELEMENT is the Number value of the + Element Size value specified in Table 52 for TypedArray. + + This property has the attributes { [[Writable]]: false, + [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +features: [BigInt] +---*/ + +verifyProperty(BigUint64Array, "BYTES_PER_ELEMENT", { + value: 8, + writable: false, + enumerable: false, + configurable: false +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/browser.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/browser.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/constructor.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/constructor.js new file mode 100644 index 0000000000..3dd32413a8 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/constructor.js @@ -0,0 +1,21 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-typedarray-constructors +description: BigUint64Array is a constructor function +info: | + 22.2.4 The TypedArray Constructors + + [...] + + The TypedArray intrinsic constructor functions are single functions + whose behaviour is overloaded based upon the number and types of its + arguments. The actual behaviour of a call of TypedArray depends upon + the number and kind of arguments that are passed to it. +features: [BigInt] +---*/ + +assert.sameValue(typeof BigUint64Array, "function"); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/is-a-constructor.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/is-a-constructor.js new file mode 100644 index 0000000000..4bf662a43c --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/is-a-constructor.js @@ -0,0 +1,26 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-ecmascript-standard-built-in-objects +description: > + The BigUint64Array constructor implements [[Construct]] +info: | + IsConstructor ( argument ) + + The abstract operation IsConstructor takes argument argument (an ECMAScript language value). + It determines if argument is a function object with a [[Construct]] internal method. + It performs the following steps when called: + + If Type(argument) is not Object, return false. + If argument has a [[Construct]] internal method, return true. + Return false. +includes: [isConstructor.js] +features: [Reflect.construct, TypedArray] +---*/ + +assert.sameValue(isConstructor(BigUint64Array), true, 'isConstructor(BigUint64Array) must return true'); +new BigUint64Array(); + + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/length.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/length.js new file mode 100644 index 0000000000..9d2c001391 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/length.js @@ -0,0 +1,30 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-typedarray-constructors +description: BigUint64Array.length property descriptor +info: | + The TypedArray Constructors + + The length property of the TypedArray constructor function is 3. + + 17 ECMAScript Standard Built-in Objects + + ... + + Unless otherwise specified, the length property of a built-in function + object has the attributes { [[Writable]]: false, [[Enumerable]]: false, + [[Configurable]]: true }. +includes: [propertyHelper.js] +features: [BigInt, TypedArray] +---*/ + +verifyProperty(BigUint64Array, "length", { + value: 3, + writable: false, + enumerable: false, + configurable: true +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/name.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/name.js new file mode 100644 index 0000000000..c06e8f68d6 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/name.js @@ -0,0 +1,38 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-properties-of-the-typedarray-constructors +description: BigUint64Array.name property descriptor +info: | + 22.2.5 Properties of the TypedArray Constructors + + [...] + + Each TypedArray constructor has a name property whose value is the + String value of the constructor name specified for it in Table 52. + + 17 ECMAScript Standard Built-in Objects + + Every built-in function object, including constructors, that is not + identified as an anonymous function has a name property whose value + is a String. Unless otherwise specified, this value is the name that + is given to the function in this specification. For functions that + are specified as properties of objects, the name value is the + property name string used to access the function. [...] + + Unless otherwise specified, the name property of a built-in function + object, if it exists, has the attributes { [[Writable]]: false, + [[Enumerable]]: false, [[Configurable]]: true }. +includes: [propertyHelper.js] +features: [BigInt] +---*/ + +verifyProperty(BigUint64Array, "name", { + value: "BigUint64Array", + writable: false, + enumerable: false, + configurable: true +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prop-desc.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prop-desc.js new file mode 100644 index 0000000000..e9fb09f32f --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prop-desc.js @@ -0,0 +1,19 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-typedarray-objects +description: BigUint64Array property descriptor +info: | + 17 ECMAScript Standard Built-in Objects +includes: [propertyHelper.js] +features: [BigInt] +---*/ + +verifyProperty(this, "BigUint64Array", { + writable: true, + enumerable: false, + configurable: true +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/proto.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/proto.js new file mode 100644 index 0000000000..6af1546744 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/proto.js @@ -0,0 +1,18 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-properties-of-the-typedarray-constructors +description: BigUint64Array prototype internal slot +info: | + 22.2.5 Properties of the TypedArray Constructors + + The value of the [[Prototype]] internal slot of each TypedArray + constructor is the %TypedArray% intrinsic object. +includes: [testTypedArray.js] +features: [BigInt, TypedArray] +---*/ + +assert.sameValue(Object.getPrototypeOf(BigUint64Array), TypedArray); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype.js new file mode 100644 index 0000000000..4a90e63f70 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype.js @@ -0,0 +1,26 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-typedarray.prototype +description: BigUint64Array.prototype property descriptor +info: | + 22.2.5.2 TypedArray.prototype + + The initial value of TypedArray.prototype is the corresponding + TypedArray prototype intrinsic object (22.2.6). + + This property has the attributes { [[Writable]]: false, + [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +features: [BigInt] +---*/ + +verifyProperty(BigUint64Array, "prototype", { + value: Object.getPrototypeOf(new BigUint64Array()), + writable: false, + enumerable: false, + configurable: false +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/BYTES_PER_ELEMENT.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/BYTES_PER_ELEMENT.js new file mode 100644 index 0000000000..9fe2a661da --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/BYTES_PER_ELEMENT.js @@ -0,0 +1,26 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-typedarray.prototype.bytes_per_element +description: BigUint64Array.prototype.BYTES_PER_ELEMENT property descriptor +info: | + 22.2.5.1 TypedArray.prototype.BYTES_PER_ELEMENT + + The value of TypedArray.prototype.BYTES_PER_ELEMENT is the Number + value of the Element Size value specified in Table 52 for TypedArray. + + This property has the attributes { [[Writable]]: false, + [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +features: [BigInt] +---*/ + +verifyProperty(BigUint64Array.prototype, "BYTES_PER_ELEMENT", { + value: 8, + writable: false, + enumerable: false, + configurable: false +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/browser.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/browser.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/constructor.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/constructor.js new file mode 100644 index 0000000000..415a8f2fc3 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/constructor.js @@ -0,0 +1,25 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-typedarray.prototype.constructor +description: BigUint64Array.prototype.constructor property descriptor +info: | + 22.2.6.2 TypedArray.prototype.constructor + + The initial value of a TypedArray.prototype.constructor is the + corresponding %TypedArray% intrinsic object. + + 17 ECMAScript Standard Built-in Objects +includes: [propertyHelper.js] +features: [BigInt] +---*/ + +verifyProperty(BigUint64Array.prototype, "constructor", { + value: BigUint64Array, + writable: true, + enumerable: false, + configurable: true +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/not-typedarray-object.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/not-typedarray-object.js new file mode 100644 index 0000000000..d1d4230489 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/not-typedarray-object.js @@ -0,0 +1,20 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-properties-of-typedarray-prototype-objects +description: BigUint64Array.prototype is not a TypedArray instance +info: | + 22.2.6 Properties of TypedArray Prototype Objects + + [...] A TypedArray prototype object is an ordinary object. It does not + have a [[ViewedArrayBuffer]] or any other of the internal slots that + are specific to TypedArray instance objects. +features: [BigInt] +---*/ +assert.sameValue(typeof BigUint64Array, 'function'); +assert.throws(TypeError, function () { + BigUint64Array.prototype.buffer; +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/proto.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/proto.js new file mode 100644 index 0000000000..b114d3ae20 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/proto.js @@ -0,0 +1,19 @@ +// Copyright (C) 2017 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-properties-of-typedarray-prototype-objects +description: BigUint64Array.prototype prototype internal slot +info: | + 22.2.6 Properties of TypedArray Prototype Objects + + The value of the [[Prototype]] internal slot of a TypedArray prototype + object is the intrinsic object %TypedArrayPrototype%. [...] +includes: [testTypedArray.js] +features: [BigInt, TypedArray] +---*/ + +assert.sameValue(Object.getPrototypeOf(BigUint64Array.prototype), + TypedArray.prototype); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/shell.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/prototype/shell.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/shell.js b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/shell.js new file mode 100644 index 0000000000..7b3c8c67d8 --- /dev/null +++ b/js/src/tests/test262/built-ins/TypedArrayConstructors/BigUint64Array/shell.js @@ -0,0 +1,148 @@ +// GENERATED, DO NOT EDIT +// file: isConstructor.js +// Copyright (C) 2017 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: | + Test if a given function is a constructor function. +defines: [isConstructor] +features: [Reflect.construct] +---*/ + +function isConstructor(f) { + if (typeof f !== "function") { + throw new Test262Error("isConstructor invoked with a non-function value"); + } + + try { + Reflect.construct(function(){}, [], f); + } catch (e) { + return false; + } + return true; +} + +// file: testTypedArray.js +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: | + Collection of functions used to assert the correctness of TypedArray objects. +defines: + - typedArrayConstructors + - floatArrayConstructors + - intArrayConstructors + - TypedArray + - testWithTypedArrayConstructors + - testWithAtomicsFriendlyTypedArrayConstructors + - testWithNonAtomicsFriendlyTypedArrayConstructors + - testTypedArrayConversions +---*/ + +/** + * Array containing every typed array constructor. + */ +var typedArrayConstructors = [ + Float64Array, + Float32Array, + Int32Array, + Int16Array, + Int8Array, + Uint32Array, + Uint16Array, + Uint8Array, + Uint8ClampedArray +]; + +var floatArrayConstructors = typedArrayConstructors.slice(0, 2); +var intArrayConstructors = typedArrayConstructors.slice(2, 7); + +/** + * The %TypedArray% intrinsic constructor function. + */ +var TypedArray = Object.getPrototypeOf(Int8Array); + +/** + * Callback for testing a typed array constructor. + * + * @callback typedArrayConstructorCallback + * @param {Function} Constructor the constructor object to test with. + */ + +/** + * Calls the provided function for every typed array constructor. + * + * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor. + * @param {Array} selected - An optional Array with filtered typed arrays + */ +function testWithTypedArrayConstructors(f, selected) { + var constructors = selected || typedArrayConstructors; + for (var i = 0; i < constructors.length; ++i) { + var constructor = constructors[i]; + try { + f(constructor); + } catch (e) { + e.message += " (Testing with " + constructor.name + ".)"; + throw e; + } + } +} + +/** + * Calls the provided function for every non-"Atomics Friendly" typed array constructor. + * + * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor. + * @param {Array} selected - An optional Array with filtered typed arrays + */ +function testWithNonAtomicsFriendlyTypedArrayConstructors(f) { + testWithTypedArrayConstructors(f, [ + Float64Array, + Float32Array, + Uint8ClampedArray + ]); +} + +/** + * Calls the provided function for every "Atomics Friendly" typed array constructor. + * + * @param {typedArrayConstructorCallback} f - the function to call for each typed array constructor. + * @param {Array} selected - An optional Array with filtered typed arrays + */ +function testWithAtomicsFriendlyTypedArrayConstructors(f) { + testWithTypedArrayConstructors(f, [ + Int32Array, + Int16Array, + Int8Array, + Uint32Array, + Uint16Array, + Uint8Array, + ]); +} + +/** + * Helper for conversion operations on TypedArrays, the expected values + * properties are indexed in order to match the respective value for each + * TypedArray constructor + * @param {Function} fn - the function to call for each constructor and value. + * will be called with the constructor, value, expected + * value, and a initial value that can be used to avoid + * a false positive with an equivalent expected value. + */ +function testTypedArrayConversions(byteConversionValues, fn) { + var values = byteConversionValues.values; + var expected = byteConversionValues.expected; + + testWithTypedArrayConstructors(function(TA) { + var name = TA.name.slice(0, -5); + + return values.forEach(function(value, index) { + var exp = expected[name][index]; + var initial = 0; + if (exp === 0) { + initial = 1; + } + fn(TA, value, exp, initial); + }); + }); +} -- cgit v1.2.3