From f5d8b1c1fb043e104ed36da92a01af35e4d74fbd Mon Sep 17 00:00:00 2001 From: Rick Waldron <waldron.rick@gmail.com> Date: Thu, 20 Apr 2017 15:14:08 -0400 Subject: [PATCH] ArrayBuffer: constructor, name, length, descriptor (#991) Signed-off-by: Rick Waldron <waldron.rick@gmail.com> --- test/built-ins/ArrayBuffer/length.js | 31 +++++++++++++++++++++++++ test/built-ins/ArrayBuffer/name.js | 28 ++++++++++++++++++++++ test/built-ins/ArrayBuffer/prop-desc.js | 23 ++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 test/built-ins/ArrayBuffer/length.js create mode 100644 test/built-ins/ArrayBuffer/name.js create mode 100644 test/built-ins/ArrayBuffer/prop-desc.js diff --git a/test/built-ins/ArrayBuffer/length.js b/test/built-ins/ArrayBuffer/length.js new file mode 100644 index 0000000000..12b7e904ca --- /dev/null +++ b/test/built-ins/ArrayBuffer/length.js @@ -0,0 +1,31 @@ +// Copyright (C) 2017 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-arraybuffer-constructor +description: > + ArrayBuffer.length is 1. +info: > + ArrayBuffer ( length ) + + 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] +---*/ + +assert.sameValue(ArrayBuffer.length, 1); + +verifyProperty(ArrayBuffer, "length", { + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/built-ins/ArrayBuffer/name.js b/test/built-ins/ArrayBuffer/name.js new file mode 100644 index 0000000000..f833b03220 --- /dev/null +++ b/test/built-ins/ArrayBuffer/name.js @@ -0,0 +1,28 @@ +// Copyright (C) 2017 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-arraybuffer-constructor +description: > + ArrayBuffer.name is "ArrayBuffer". +info: > + 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, the name property of a built-in Function object, + if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: + false, [[Configurable]]: true }. + +includes: [propertyHelper.js] +---*/ + +assert.sameValue(ArrayBuffer.name, "ArrayBuffer"); + +verifyProperty(ArrayBuffer, "name", { + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/built-ins/ArrayBuffer/prop-desc.js b/test/built-ins/ArrayBuffer/prop-desc.js new file mode 100644 index 0000000000..84edc21a09 --- /dev/null +++ b/test/built-ins/ArrayBuffer/prop-desc.js @@ -0,0 +1,23 @@ +// Copyright (C) 2017 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-arraybuffer-constructor +description: > + Property descriptor of ArrayBuffer +info: > + 17 ECMAScript Standard Built-in Objects: + + Every other data property described in clauses 18 through 26 and in Annex B.2 + has the attributes { [[Writable]]: true, [[Enumerable]]: false, + [[Configurable]]: true } unless otherwise specified. +includes: [propertyHelper.js] +---*/ + +assert.sameValue(typeof ArrayBuffer, "function", "`typeof ArrayBuffer` is `'function'`"); + +verifyProperty(this, "ArrayBuffer", { + writable: true, + enumerable: false, + configurable: true, +}); -- GitLab