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 --- .../prototype/growable/browser.js | 0 .../prototype/growable/invoked-as-accessor.js | 20 +++++++++ .../prototype/growable/invoked-as-func.js | 26 +++++++++++ .../SharedArrayBuffer/prototype/growable/length.js | 35 +++++++++++++++ .../SharedArrayBuffer/prototype/growable/name.js | 27 ++++++++++++ .../prototype/growable/prop-desc.js | 28 ++++++++++++ .../prototype/growable/return-growable.js | 32 ++++++++++++++ .../SharedArrayBuffer/prototype/growable/shell.js | 0 .../this-has-no-arraybufferdata-internal.js | 42 ++++++++++++++++++ .../prototype/growable/this-is-arraybuffer.js | 36 +++++++++++++++ .../prototype/growable/this-is-not-object.js | 51 ++++++++++++++++++++++ 11 files changed, 297 insertions(+) create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/browser.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-accessor.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-func.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/length.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/name.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/prop-desc.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/return-growable.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/shell.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-has-no-arraybufferdata-internal.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-arraybuffer.js create mode 100644 js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-not-object.js (limited to 'js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable') diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/browser.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/browser.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-accessor.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-accessor.js new file mode 100644 index 0000000000..9a124c9d04 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-accessor.js @@ -0,0 +1,20 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: Requires this value to have a [[ArrayBufferData]] internal slot +info: | + get SharedArrayBuffer.prototype.growable + + 1. Let O be the this value. + 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). + [...] +features: [SharedArrayBuffer, resizable-arraybuffer] +---*/ + +assert.throws(TypeError, function() { + SharedArrayBuffer.prototype.growable; +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-func.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-func.js new file mode 100644 index 0000000000..05bb0383f0 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-func.js @@ -0,0 +1,26 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: Throws a TypeError exception when invoked as a function +info: | + get SharedArrayBuffer.prototype.growable + + 1. Let O be the this value. + 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). + [...] +features: [SharedArrayBuffer, resizable-arraybuffer] +---*/ + +var getter = Object.getOwnPropertyDescriptor( + SharedArrayBuffer.prototype, 'growable' +).get; + +assert.sameValue(typeof getter, 'function'); + +assert.throws(TypeError, function() { + getter(); +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/length.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/length.js new file mode 100644 index 0000000000..f63fa5a6a3 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/length.js @@ -0,0 +1,35 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: > + get SharedArrayBuffer.prototype.growable.length is 0. +info: | + get SharedArrayBuffer.prototype.resizeable + + 17 ECMAScript Standard Built-in Objects: + Every built-in Function object, including constructors, has a length + property whose value is an integer. Unless otherwise specified, this + value is equal to the largest number of named arguments shown in the + subclause headings for the function description, including optional + parameters. However, rest parameters shown using the form “...name” + are not included in the default argument count. + + 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: [SharedArrayBuffer, resizable-arraybuffer] +---*/ + +var desc = Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'growable'); + +verifyProperty(desc.get, 'length', { + value: 0, + enumerable: false, + writable: false, + configurable: true +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/name.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/name.js new file mode 100644 index 0000000000..abfcf3c8f2 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/name.js @@ -0,0 +1,27 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: > + get SharedArrayBuffer.prototype.growable + + 17 ECMAScript Standard Built-in Objects + + Functions that are specified as get or set accessor functions of built-in + properties have "get " or "set " prepended to the property name string. + +includes: [propertyHelper.js] +features: [SharedArrayBuffer, resizable-arraybuffer] +---*/ + +var desc = Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'growable'); + +verifyProperty(desc.get, 'name', { + value: 'get growable', + enumerable: false, + writable: false, + configurable: true +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/prop-desc.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/prop-desc.js new file mode 100644 index 0000000000..7714b87db3 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/prop-desc.js @@ -0,0 +1,28 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: > + "growable" property of SharedArrayBuffer.prototype +info: | + SharedArrayBuffer.prototype.growable is an accessor property whose set accessor + function is undefined. + + Section 17: Every accessor property described in clauses 18 through 26 and in + Annex B.2 has the attributes {[[Enumerable]]: false, [[Configurable]]: true } +includes: [propertyHelper.js] +features: [SharedArrayBuffer, resizable-arraybuffer] +---*/ + +var desc = Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'growable'); + +assert.sameValue(desc.set, undefined); +assert.sameValue(typeof desc.get, 'function'); + +verifyProperty(SharedArrayBuffer.prototype, 'growable', { + enumerable: false, + configurable: true +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/return-growable.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/return-growable.js new file mode 100644 index 0000000000..72dd317a47 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/return-growable.js @@ -0,0 +1,32 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: Return value according to [[ArrayBufferMaxByteLength]] internal slot +info: | + get SharedArrayBuffer.prototype.growable + + 1. Let O be the this value. + 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). + 3. If IsSharedArrayBuffer(O) is false, throw a TypeError exception. + 4. Return IsResizableArrayBuffer(O). + + IsResizableArrayBuffer ( arrayBuffer ) + + 1. Assert: Type(arrayBuffer) is Object and arrayBuffer has an + [[ArrayBufferData]] internal slot. + 2. If buffer has an [[ArrayBufferMaxByteLength]] internal slot, return true. + 3. Return false. +features: [SharedArrayBuffer, resizable-arraybuffer] +---*/ + +var sab1 = new SharedArrayBuffer(1); + +assert.sameValue(sab1.growable, false); + +var sab2 = new SharedArrayBuffer(1, {maxByteLength: 1}); + +assert.sameValue(sab2.growable, true); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/shell.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/shell.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-has-no-arraybufferdata-internal.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-has-no-arraybufferdata-internal.js new file mode 100644 index 0000000000..4c3edb6d58 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-has-no-arraybufferdata-internal.js @@ -0,0 +1,42 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: > + Throws a TypeError exception when `this` does not have a [[ArrayBufferData]] + internal slot +info: | + get SharedArrayBuffer.prototype.growable + + 1. Let O be the this value. + 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). + [...] +features: [DataView, SharedArrayBuffer, TypedArray, resizable-arraybuffer] +---*/ + +var getter = Object.getOwnPropertyDescriptor( + SharedArrayBuffer.prototype, "growable" +).get; + +assert.sameValue(typeof getter, "function"); + +assert.throws(TypeError, function() { + getter.call({}); +}); + +assert.throws(TypeError, function() { + getter.call([]); +}); + +var ta = new Int8Array(8); +assert.throws(TypeError, function() { + getter.call(ta); +}); + +var dv = new DataView(new SharedArrayBuffer(8), 0); +assert.throws(TypeError, function() { + getter.call(dv); +}); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-arraybuffer.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-arraybuffer.js new file mode 100644 index 0000000000..d6a3dcd8da --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-arraybuffer.js @@ -0,0 +1,36 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: Throws a TypeError exception when `this` is an ArrayBuffer +info: | + get SharedArrayBuffer.prototype.growable + + 1. Let O be the this value. + 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). + 3. If IsSharedArrayBuffer(O) is false, throw a TypeError exception. + [...] +features: [ArrayBuffer, SharedArrayBuffer, resizable-arraybuffer] +---*/ + +var growable = Object.getOwnPropertyDescriptor( + SharedArrayBuffer.prototype, "growable" +); + +var getter = growable.get; +var ab = new ArrayBuffer(4); + +assert.sameValue(typeof getter, "function"); + +assert.throws(TypeError, function() { + getter.call(ab); +}, "`this` cannot be an ArrayBuffer"); + +Object.defineProperties(ab, { growable: growable }); + +assert.throws(TypeError, function() { + ab.growable; +}, "`this` cannot be an ArrayBuffer"); + +reportCompare(0, 0); diff --git a/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-not-object.js b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-not-object.js new file mode 100644 index 0000000000..7ba2cfb2c5 --- /dev/null +++ b/js/src/tests/test262/built-ins/SharedArrayBuffer/prototype/growable/this-is-not-object.js @@ -0,0 +1,51 @@ +// |reftest| skip -- resizable-arraybuffer is not supported +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-get-sharedarraybuffer.prototype.growable +description: Throws a TypeError exception when `this` is not Object +info: | + get SharedArrayBuffer.prototype.growable + + 1. Let O be the this value. + 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). + [...] +features: [SharedArrayBuffer, Symbol, resizable-arraybuffer] +---*/ + +var getter = Object.getOwnPropertyDescriptor( + SharedArrayBuffer.prototype, "growable" +).get; + +assert.sameValue(typeof getter, "function"); + +assert.throws(TypeError, function() { + getter.call(undefined); +}, "this is undefined"); + +assert.throws(TypeError, function() { + getter.call(null); +}, "this is null"); + +assert.throws(TypeError, function() { + getter.call(42); +}, "this is 42"); + +assert.throws(TypeError, function() { + getter.call("1"); +}, "this is a string"); + +assert.throws(TypeError, function() { + getter.call(true); +}, "this is true"); + +assert.throws(TypeError, function() { + getter.call(false); +}, "this is false"); + +var s = Symbol("s"); +assert.throws(TypeError, function() { + getter.call(s); +}, "this is a Symbol"); + +reportCompare(0, 0); -- cgit v1.2.3