From 33395b52f5ae1bd010d14add130094c0e6b76c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= <andre.bargull@gmail.com> Date: Fri, 15 Jan 2016 18:13:36 +0100 Subject: [PATCH] Add basic surface tests for NativeErrors --- .../NativeErrors/EvalError/constructor.js | 10 ++++++ .../NativeErrors/EvalError/instance-proto.js | 14 ++++++++ .../NativeErrors/EvalError/is-error-object.js | 14 ++++++++ .../NativeErrors/EvalError/length.js | 32 +++++++++++++++++++ test/built-ins/NativeErrors/EvalError/name.js | 24 ++++++++++++++ .../built-ins/NativeErrors/EvalError/proto.js | 12 +++++++ .../NativeErrors/EvalError/prototype.js | 19 +++++++++++ .../EvalError/prototype/constructor.js | 23 +++++++++++++ .../EvalError/prototype/message.js | 23 +++++++++++++ .../NativeErrors/EvalError/prototype/name.js | 24 ++++++++++++++ .../EvalError/prototype/not-error-object.js | 13 ++++++++ .../NativeErrors/EvalError/prototype/proto.js | 13 ++++++++ .../NativeErrors/RangeError/constructor.js | 10 ++++++ .../NativeErrors/RangeError/instance-proto.js | 14 ++++++++ .../RangeError/is-error-object.js | 14 ++++++++ .../NativeErrors/RangeError/length.js | 32 +++++++++++++++++++ .../built-ins/NativeErrors/RangeError/name.js | 24 ++++++++++++++ .../NativeErrors/RangeError/proto.js | 12 +++++++ .../NativeErrors/RangeError/prototype.js | 19 +++++++++++ .../RangeError/prototype/constructor.js | 23 +++++++++++++ .../RangeError/prototype/message.js | 23 +++++++++++++ .../NativeErrors/RangeError/prototype/name.js | 24 ++++++++++++++ .../RangeError/prototype/not-error-object.js | 13 ++++++++ .../RangeError/prototype/proto.js | 13 ++++++++ .../ReferenceError/constructor.js | 10 ++++++ .../ReferenceError/instance-proto.js | 14 ++++++++ .../ReferenceError/is-error-object.js | 14 ++++++++ .../NativeErrors/ReferenceError/length.js | 32 +++++++++++++++++++ .../NativeErrors/ReferenceError/name.js | 24 ++++++++++++++ .../NativeErrors/ReferenceError/proto.js | 12 +++++++ .../NativeErrors/ReferenceError/prototype.js | 19 +++++++++++ .../ReferenceError/prototype/constructor.js | 23 +++++++++++++ .../ReferenceError/prototype/message.js | 23 +++++++++++++ .../ReferenceError/prototype/name.js | 24 ++++++++++++++ .../prototype/not-error-object.js | 13 ++++++++ .../ReferenceError/prototype/proto.js | 13 ++++++++ .../NativeErrors/SyntaxError/constructor.js | 10 ++++++ .../SyntaxError/instance-proto.js | 14 ++++++++ .../SyntaxError/is-error-object.js | 14 ++++++++ .../NativeErrors/SyntaxError/length.js | 32 +++++++++++++++++++ .../NativeErrors/SyntaxError/name.js | 24 ++++++++++++++ .../NativeErrors/SyntaxError/proto.js | 12 +++++++ .../NativeErrors/SyntaxError/prototype.js | 19 +++++++++++ .../SyntaxError/prototype/constructor.js | 23 +++++++++++++ .../SyntaxError/prototype/message.js | 23 +++++++++++++ .../SyntaxError/prototype/name.js | 24 ++++++++++++++ .../SyntaxError/prototype/not-error-object.js | 13 ++++++++ .../SyntaxError/prototype/proto.js | 13 ++++++++ .../NativeErrors/TypeError/constructor.js | 10 ++++++ .../NativeErrors/TypeError/instance-proto.js | 14 ++++++++ .../NativeErrors/TypeError/is-error-object.js | 14 ++++++++ .../NativeErrors/TypeError/length.js | 32 +++++++++++++++++++ test/built-ins/NativeErrors/TypeError/name.js | 24 ++++++++++++++ .../built-ins/NativeErrors/TypeError/proto.js | 12 +++++++ .../NativeErrors/TypeError/prototype.js | 19 +++++++++++ .../TypeError/prototype/constructor.js | 23 +++++++++++++ .../TypeError/prototype/message.js | 23 +++++++++++++ .../NativeErrors/TypeError/prototype/name.js | 24 ++++++++++++++ .../TypeError/prototype/not-error-object.js | 13 ++++++++ .../NativeErrors/TypeError/prototype/proto.js | 13 ++++++++ .../NativeErrors/URIError/constructor.js | 10 ++++++ .../NativeErrors/URIError/instance-proto.js | 14 ++++++++ .../NativeErrors/URIError/is-error-object.js | 14 ++++++++ .../built-ins/NativeErrors/URIError/length.js | 32 +++++++++++++++++++ test/built-ins/NativeErrors/URIError/name.js | 24 ++++++++++++++ test/built-ins/NativeErrors/URIError/proto.js | 12 +++++++ .../NativeErrors/URIError/prototype.js | 19 +++++++++++ .../URIError/prototype/constructor.js | 23 +++++++++++++ .../URIError/prototype/message.js | 23 +++++++++++++ .../NativeErrors/URIError/prototype/name.js | 24 ++++++++++++++ .../URIError/prototype/not-error-object.js | 13 ++++++++ .../NativeErrors/URIError/prototype/proto.js | 13 ++++++++ 72 files changed, 1326 insertions(+) create mode 100755 test/built-ins/NativeErrors/EvalError/constructor.js create mode 100755 test/built-ins/NativeErrors/EvalError/instance-proto.js create mode 100755 test/built-ins/NativeErrors/EvalError/is-error-object.js create mode 100755 test/built-ins/NativeErrors/EvalError/length.js create mode 100755 test/built-ins/NativeErrors/EvalError/name.js create mode 100755 test/built-ins/NativeErrors/EvalError/proto.js create mode 100755 test/built-ins/NativeErrors/EvalError/prototype.js create mode 100755 test/built-ins/NativeErrors/EvalError/prototype/constructor.js create mode 100755 test/built-ins/NativeErrors/EvalError/prototype/message.js create mode 100755 test/built-ins/NativeErrors/EvalError/prototype/name.js create mode 100755 test/built-ins/NativeErrors/EvalError/prototype/not-error-object.js create mode 100755 test/built-ins/NativeErrors/EvalError/prototype/proto.js create mode 100755 test/built-ins/NativeErrors/RangeError/constructor.js create mode 100755 test/built-ins/NativeErrors/RangeError/instance-proto.js create mode 100755 test/built-ins/NativeErrors/RangeError/is-error-object.js create mode 100755 test/built-ins/NativeErrors/RangeError/length.js create mode 100755 test/built-ins/NativeErrors/RangeError/name.js create mode 100755 test/built-ins/NativeErrors/RangeError/proto.js create mode 100755 test/built-ins/NativeErrors/RangeError/prototype.js create mode 100755 test/built-ins/NativeErrors/RangeError/prototype/constructor.js create mode 100755 test/built-ins/NativeErrors/RangeError/prototype/message.js create mode 100755 test/built-ins/NativeErrors/RangeError/prototype/name.js create mode 100755 test/built-ins/NativeErrors/RangeError/prototype/not-error-object.js create mode 100755 test/built-ins/NativeErrors/RangeError/prototype/proto.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/constructor.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/instance-proto.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/is-error-object.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/length.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/name.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/proto.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/prototype.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/prototype/constructor.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/prototype/message.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/prototype/name.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/prototype/not-error-object.js create mode 100755 test/built-ins/NativeErrors/ReferenceError/prototype/proto.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/constructor.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/instance-proto.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/is-error-object.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/length.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/name.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/proto.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/prototype.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/prototype/constructor.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/prototype/message.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/prototype/name.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/prototype/not-error-object.js create mode 100755 test/built-ins/NativeErrors/SyntaxError/prototype/proto.js create mode 100755 test/built-ins/NativeErrors/TypeError/constructor.js create mode 100755 test/built-ins/NativeErrors/TypeError/instance-proto.js create mode 100755 test/built-ins/NativeErrors/TypeError/is-error-object.js create mode 100755 test/built-ins/NativeErrors/TypeError/length.js create mode 100755 test/built-ins/NativeErrors/TypeError/name.js create mode 100755 test/built-ins/NativeErrors/TypeError/proto.js create mode 100755 test/built-ins/NativeErrors/TypeError/prototype.js create mode 100755 test/built-ins/NativeErrors/TypeError/prototype/constructor.js create mode 100755 test/built-ins/NativeErrors/TypeError/prototype/message.js create mode 100755 test/built-ins/NativeErrors/TypeError/prototype/name.js create mode 100755 test/built-ins/NativeErrors/TypeError/prototype/not-error-object.js create mode 100755 test/built-ins/NativeErrors/TypeError/prototype/proto.js create mode 100755 test/built-ins/NativeErrors/URIError/constructor.js create mode 100755 test/built-ins/NativeErrors/URIError/instance-proto.js create mode 100755 test/built-ins/NativeErrors/URIError/is-error-object.js create mode 100755 test/built-ins/NativeErrors/URIError/length.js create mode 100755 test/built-ins/NativeErrors/URIError/name.js create mode 100755 test/built-ins/NativeErrors/URIError/proto.js create mode 100755 test/built-ins/NativeErrors/URIError/prototype.js create mode 100755 test/built-ins/NativeErrors/URIError/prototype/constructor.js create mode 100755 test/built-ins/NativeErrors/URIError/prototype/message.js create mode 100755 test/built-ins/NativeErrors/URIError/prototype/name.js create mode 100755 test/built-ins/NativeErrors/URIError/prototype/not-error-object.js create mode 100755 test/built-ins/NativeErrors/URIError/prototype/proto.js diff --git a/test/built-ins/NativeErrors/EvalError/constructor.js b/test/built-ins/NativeErrors/EvalError/constructor.js new file mode 100755 index 0000000000..ed388b47ea --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/constructor.js @@ -0,0 +1,10 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + EvalError is a constructor function. +---*/ + +assert.sameValue(typeof EvalError, 'function', 'typeof EvalError is "function"'); diff --git a/test/built-ins/NativeErrors/EvalError/instance-proto.js b/test/built-ins/NativeErrors/EvalError/instance-proto.js new file mode 100755 index 0000000000..8fe8ff9871 --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/instance-proto.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + The prototype of EvalError instances is EvalError.prototype. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.getPrototypeOf(new EvalError), EvalError.prototype); diff --git a/test/built-ins/NativeErrors/EvalError/is-error-object.js b/test/built-ins/NativeErrors/EvalError/is-error-object.js new file mode 100755 index 0000000000..9229b24aab --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/is-error-object.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + EvalError instances have an [[ErrorData]] internal slot. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.prototype.toString.call(new EvalError), "[object Error]"); diff --git a/test/built-ins/NativeErrors/EvalError/length.js b/test/built-ins/NativeErrors/EvalError/length.js new file mode 100755 index 0000000000..581d3eb75a --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + EvalError.length is 1. +info: > + NativeError ( message ) + + 19.5.6.2 Properties of the NativeError Constructors + Besides the length property (whose value is 1) [...]. + + 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(EvalError.length, 1); + +verifyNotEnumerable(EvalError, "length"); +verifyNotWritable(EvalError, "length"); +verifyConfigurable(EvalError, "length"); diff --git a/test/built-ins/NativeErrors/EvalError/name.js b/test/built-ins/NativeErrors/EvalError/name.js new file mode 100755 index 0000000000..d810c49f36 --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + EvalError.name is "EvalError". +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(EvalError.name, "EvalError"); + +verifyNotEnumerable(EvalError, "name"); +verifyNotWritable(EvalError, "name"); +verifyConfigurable(EvalError, "name"); diff --git a/test/built-ins/NativeErrors/EvalError/proto.js b/test/built-ins/NativeErrors/EvalError/proto.js new file mode 100755 index 0000000000..a9faac145d --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/proto.js @@ -0,0 +1,12 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + The prototype of EvalError is Error. +info: > + The value of the [[Prototype]] internal slot of a NativeError constructor is the intrinsic object %Error% (19.5.1). +---*/ + +assert.sameValue(Object.getPrototypeOf(EvalError), Error); diff --git a/test/built-ins/NativeErrors/EvalError/prototype.js b/test/built-ins/NativeErrors/EvalError/prototype.js new file mode 100755 index 0000000000..f863ff47e3 --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/prototype.js @@ -0,0 +1,19 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2.1 +description: > + The initial value of EvalError.prototype is the EvalError prototype object. +info: > + The initial value of NativeError.prototype is a NativeError prototype object (19.5.6.3). + Each NativeError constructor has a distinct prototype object. + This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +---*/ + +assert.sameValue(EvalError.prototype, Object.getPrototypeOf(new EvalError)); + +verifyNotEnumerable(EvalError, "prototype"); +verifyNotWritable(EvalError, "prototype"); +verifyNotConfigurable(EvalError, "prototype"); diff --git a/test/built-ins/NativeErrors/EvalError/prototype/constructor.js b/test/built-ins/NativeErrors/EvalError/prototype/constructor.js new file mode 100755 index 0000000000..581925f297 --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/prototype/constructor.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.1 +description: > + The initial value of EvalError.prototype.constructor is the EvalError object. +info: > + The initial value of the constructor property of the prototype for a given NativeError + constructor is the corresponding intrinsic object %NativeError% (19.5.6.1). + + 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(EvalError.prototype.constructor, EvalError); + +verifyNotEnumerable(EvalError.prototype, "constructor"); +verifyWritable(EvalError.prototype, "constructor"); +verifyConfigurable(EvalError.prototype, "constructor"); diff --git a/test/built-ins/NativeErrors/EvalError/prototype/message.js b/test/built-ins/NativeErrors/EvalError/prototype/message.js new file mode 100755 index 0000000000..e256bfe914 --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/prototype/message.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.2 +description: > + The initial value of EvalError.prototype.message is the empty string. +info: > + The initial value of the message property of the prototype for a given NativeError + constructor is the empty String. + + 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(EvalError.prototype.message, ""); + +verifyNotEnumerable(EvalError.prototype, "message"); +verifyWritable(EvalError.prototype, "message"); +verifyConfigurable(EvalError.prototype, "message"); diff --git a/test/built-ins/NativeErrors/EvalError/prototype/name.js b/test/built-ins/NativeErrors/EvalError/prototype/name.js new file mode 100755 index 0000000000..6b0db3901f --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/prototype/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.3 +description: > + The initial value of EvalError.prototype.name is "EvalError". +info: > + The initial value of the name property of the prototype for a given NativeError + constructor is a string consisting of the name of the constructor (the name used + instead of NativeError). + + 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(EvalError.prototype.name, "EvalError"); + +verifyNotEnumerable(EvalError.prototype, "name"); +verifyWritable(EvalError.prototype, "name"); +verifyConfigurable(EvalError.prototype, "name"); diff --git a/test/built-ins/NativeErrors/EvalError/prototype/not-error-object.js b/test/built-ins/NativeErrors/EvalError/prototype/not-error-object.js new file mode 100755 index 0000000000..1e58225911 --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/prototype/not-error-object.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + EvalError.prototype is not an error object instance. +info: > + Each NativeError prototype object is an ordinary object. It is not an + Error instance and does not have an [[ErrorData]] internal slot. +---*/ + +assert.sameValue(Object.prototype.toString.call(EvalError.prototype), "[object Object]"); diff --git a/test/built-ins/NativeErrors/EvalError/prototype/proto.js b/test/built-ins/NativeErrors/EvalError/prototype/proto.js new file mode 100755 index 0000000000..14f9deac93 --- /dev/null +++ b/test/built-ins/NativeErrors/EvalError/prototype/proto.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + The prototype of EvalError.prototype is Error.prototype. +info: > + The value of the [[Prototype]] internal slot of each NativeError prototype + object is the intrinsic object %ErrorPrototype% (19.5.3). +---*/ + +assert.sameValue(Object.getPrototypeOf(EvalError.prototype), Error.prototype); diff --git a/test/built-ins/NativeErrors/RangeError/constructor.js b/test/built-ins/NativeErrors/RangeError/constructor.js new file mode 100755 index 0000000000..c3d5e0a2ec --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/constructor.js @@ -0,0 +1,10 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + RangeError is a constructor function. +---*/ + +assert.sameValue(typeof RangeError, 'function', 'typeof RangeError is "function"'); diff --git a/test/built-ins/NativeErrors/RangeError/instance-proto.js b/test/built-ins/NativeErrors/RangeError/instance-proto.js new file mode 100755 index 0000000000..88d40bf6d7 --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/instance-proto.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + The prototype of RangeError instances is RangeError.prototype. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.getPrototypeOf(new RangeError), RangeError.prototype); diff --git a/test/built-ins/NativeErrors/RangeError/is-error-object.js b/test/built-ins/NativeErrors/RangeError/is-error-object.js new file mode 100755 index 0000000000..0e4bd55b7a --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/is-error-object.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + RangeError instances have an [[ErrorData]] internal slot. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.prototype.toString.call(new RangeError), "[object Error]"); diff --git a/test/built-ins/NativeErrors/RangeError/length.js b/test/built-ins/NativeErrors/RangeError/length.js new file mode 100755 index 0000000000..c4be5ca7b0 --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + RangeError.length is 1. +info: > + NativeError ( message ) + + 19.5.6.2 Properties of the NativeError Constructors + Besides the length property (whose value is 1) [...]. + + 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(RangeError.length, 1); + +verifyNotEnumerable(RangeError, "length"); +verifyNotWritable(RangeError, "length"); +verifyConfigurable(RangeError, "length"); diff --git a/test/built-ins/NativeErrors/RangeError/name.js b/test/built-ins/NativeErrors/RangeError/name.js new file mode 100755 index 0000000000..4368390edf --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + RangeError.name is "RangeError". +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(RangeError.name, "RangeError"); + +verifyNotEnumerable(RangeError, "name"); +verifyNotWritable(RangeError, "name"); +verifyConfigurable(RangeError, "name"); diff --git a/test/built-ins/NativeErrors/RangeError/proto.js b/test/built-ins/NativeErrors/RangeError/proto.js new file mode 100755 index 0000000000..e098b4f327 --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/proto.js @@ -0,0 +1,12 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + The prototype of RangeError is Error. +info: > + The value of the [[Prototype]] internal slot of a NativeError constructor is the intrinsic object %Error% (19.5.1). +---*/ + +assert.sameValue(Object.getPrototypeOf(RangeError), Error); diff --git a/test/built-ins/NativeErrors/RangeError/prototype.js b/test/built-ins/NativeErrors/RangeError/prototype.js new file mode 100755 index 0000000000..a802b8409c --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/prototype.js @@ -0,0 +1,19 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2.1 +description: > + The initial value of RangeError.prototype is the RangeError prototype object. +info: > + The initial value of NativeError.prototype is a NativeError prototype object (19.5.6.3). + Each NativeError constructor has a distinct prototype object. + This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +---*/ + +assert.sameValue(RangeError.prototype, Object.getPrototypeOf(new RangeError)); + +verifyNotEnumerable(RangeError, "prototype"); +verifyNotWritable(RangeError, "prototype"); +verifyNotConfigurable(RangeError, "prototype"); diff --git a/test/built-ins/NativeErrors/RangeError/prototype/constructor.js b/test/built-ins/NativeErrors/RangeError/prototype/constructor.js new file mode 100755 index 0000000000..d94e491c0f --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/prototype/constructor.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.1 +description: > + The initial value of RangeError.prototype.constructor is the RangeError object. +info: > + The initial value of the constructor property of the prototype for a given NativeError + constructor is the corresponding intrinsic object %NativeError% (19.5.6.1). + + 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(RangeError.prototype.constructor, RangeError); + +verifyNotEnumerable(RangeError.prototype, "constructor"); +verifyWritable(RangeError.prototype, "constructor"); +verifyConfigurable(RangeError.prototype, "constructor"); diff --git a/test/built-ins/NativeErrors/RangeError/prototype/message.js b/test/built-ins/NativeErrors/RangeError/prototype/message.js new file mode 100755 index 0000000000..059477b8e8 --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/prototype/message.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.2 +description: > + The initial value of RangeError.prototype.message is the empty string. +info: > + The initial value of the message property of the prototype for a given NativeError + constructor is the empty String. + + 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(RangeError.prototype.message, ""); + +verifyNotEnumerable(RangeError.prototype, "message"); +verifyWritable(RangeError.prototype, "message"); +verifyConfigurable(RangeError.prototype, "message"); diff --git a/test/built-ins/NativeErrors/RangeError/prototype/name.js b/test/built-ins/NativeErrors/RangeError/prototype/name.js new file mode 100755 index 0000000000..ef4f857705 --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/prototype/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.3 +description: > + The initial value of RangeError.prototype.name is "RangeError". +info: > + The initial value of the name property of the prototype for a given NativeError + constructor is a string consisting of the name of the constructor (the name used + instead of NativeError). + + 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(RangeError.prototype.name, "RangeError"); + +verifyNotEnumerable(RangeError.prototype, "name"); +verifyWritable(RangeError.prototype, "name"); +verifyConfigurable(RangeError.prototype, "name"); diff --git a/test/built-ins/NativeErrors/RangeError/prototype/not-error-object.js b/test/built-ins/NativeErrors/RangeError/prototype/not-error-object.js new file mode 100755 index 0000000000..d7d5bf64be --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/prototype/not-error-object.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + RangeError.prototype is not an error object instance. +info: > + Each NativeError prototype object is an ordinary object. It is not an + Error instance and does not have an [[ErrorData]] internal slot. +---*/ + +assert.sameValue(Object.prototype.toString.call(RangeError.prototype), "[object Object]"); diff --git a/test/built-ins/NativeErrors/RangeError/prototype/proto.js b/test/built-ins/NativeErrors/RangeError/prototype/proto.js new file mode 100755 index 0000000000..200ed2ecf3 --- /dev/null +++ b/test/built-ins/NativeErrors/RangeError/prototype/proto.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + The prototype of RangeError.prototype is Error.prototype. +info: > + The value of the [[Prototype]] internal slot of each NativeError prototype + object is the intrinsic object %ErrorPrototype% (19.5.3). +---*/ + +assert.sameValue(Object.getPrototypeOf(RangeError.prototype), Error.prototype); diff --git a/test/built-ins/NativeErrors/ReferenceError/constructor.js b/test/built-ins/NativeErrors/ReferenceError/constructor.js new file mode 100755 index 0000000000..085dd391d6 --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/constructor.js @@ -0,0 +1,10 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + ReferenceError is a constructor function. +---*/ + +assert.sameValue(typeof ReferenceError, 'function', 'typeof ReferenceError is "function"'); diff --git a/test/built-ins/NativeErrors/ReferenceError/instance-proto.js b/test/built-ins/NativeErrors/ReferenceError/instance-proto.js new file mode 100755 index 0000000000..fd580d04da --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/instance-proto.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + The prototype of ReferenceError instances is ReferenceError.prototype. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.getPrototypeOf(new ReferenceError), ReferenceError.prototype); diff --git a/test/built-ins/NativeErrors/ReferenceError/is-error-object.js b/test/built-ins/NativeErrors/ReferenceError/is-error-object.js new file mode 100755 index 0000000000..e11906a79a --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/is-error-object.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + ReferenceError instances have an [[ErrorData]] internal slot. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.prototype.toString.call(new ReferenceError), "[object Error]"); diff --git a/test/built-ins/NativeErrors/ReferenceError/length.js b/test/built-ins/NativeErrors/ReferenceError/length.js new file mode 100755 index 0000000000..079ccf05ae --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + ReferenceError.length is 1. +info: > + NativeError ( message ) + + 19.5.6.2 Properties of the NativeError Constructors + Besides the length property (whose value is 1) [...]. + + 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(ReferenceError.length, 1); + +verifyNotEnumerable(ReferenceError, "length"); +verifyNotWritable(ReferenceError, "length"); +verifyConfigurable(ReferenceError, "length"); diff --git a/test/built-ins/NativeErrors/ReferenceError/name.js b/test/built-ins/NativeErrors/ReferenceError/name.js new file mode 100755 index 0000000000..ef93bfdae6 --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + ReferenceError.name is "ReferenceError". +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(ReferenceError.name, "ReferenceError"); + +verifyNotEnumerable(ReferenceError, "name"); +verifyNotWritable(ReferenceError, "name"); +verifyConfigurable(ReferenceError, "name"); diff --git a/test/built-ins/NativeErrors/ReferenceError/proto.js b/test/built-ins/NativeErrors/ReferenceError/proto.js new file mode 100755 index 0000000000..7d34c4174c --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/proto.js @@ -0,0 +1,12 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + The prototype of ReferenceError is Error. +info: > + The value of the [[Prototype]] internal slot of a NativeError constructor is the intrinsic object %Error% (19.5.1). +---*/ + +assert.sameValue(Object.getPrototypeOf(ReferenceError), Error); diff --git a/test/built-ins/NativeErrors/ReferenceError/prototype.js b/test/built-ins/NativeErrors/ReferenceError/prototype.js new file mode 100755 index 0000000000..160ea5f61f --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/prototype.js @@ -0,0 +1,19 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2.1 +description: > + The initial value of ReferenceError.prototype is the ReferenceError prototype object. +info: > + The initial value of NativeError.prototype is a NativeError prototype object (19.5.6.3). + Each NativeError constructor has a distinct prototype object. + This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +---*/ + +assert.sameValue(ReferenceError.prototype, Object.getPrototypeOf(new ReferenceError)); + +verifyNotEnumerable(ReferenceError, "prototype"); +verifyNotWritable(ReferenceError, "prototype"); +verifyNotConfigurable(ReferenceError, "prototype"); diff --git a/test/built-ins/NativeErrors/ReferenceError/prototype/constructor.js b/test/built-ins/NativeErrors/ReferenceError/prototype/constructor.js new file mode 100755 index 0000000000..d3d159d9bc --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/prototype/constructor.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.1 +description: > + The initial value of ReferenceError.prototype.constructor is the ReferenceError object. +info: > + The initial value of the constructor property of the prototype for a given NativeError + constructor is the corresponding intrinsic object %NativeError% (19.5.6.1). + + 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(ReferenceError.prototype.constructor, ReferenceError); + +verifyNotEnumerable(ReferenceError.prototype, "constructor"); +verifyWritable(ReferenceError.prototype, "constructor"); +verifyConfigurable(ReferenceError.prototype, "constructor"); diff --git a/test/built-ins/NativeErrors/ReferenceError/prototype/message.js b/test/built-ins/NativeErrors/ReferenceError/prototype/message.js new file mode 100755 index 0000000000..836bb6fef2 --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/prototype/message.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.2 +description: > + The initial value of ReferenceError.prototype.message is the empty string. +info: > + The initial value of the message property of the prototype for a given NativeError + constructor is the empty String. + + 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(ReferenceError.prototype.message, ""); + +verifyNotEnumerable(ReferenceError.prototype, "message"); +verifyWritable(ReferenceError.prototype, "message"); +verifyConfigurable(ReferenceError.prototype, "message"); diff --git a/test/built-ins/NativeErrors/ReferenceError/prototype/name.js b/test/built-ins/NativeErrors/ReferenceError/prototype/name.js new file mode 100755 index 0000000000..92fba48cfc --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/prototype/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.3 +description: > + The initial value of ReferenceError.prototype.name is "ReferenceError". +info: > + The initial value of the name property of the prototype for a given NativeError + constructor is a string consisting of the name of the constructor (the name used + instead of NativeError). + + 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(ReferenceError.prototype.name, "ReferenceError"); + +verifyNotEnumerable(ReferenceError.prototype, "name"); +verifyWritable(ReferenceError.prototype, "name"); +verifyConfigurable(ReferenceError.prototype, "name"); diff --git a/test/built-ins/NativeErrors/ReferenceError/prototype/not-error-object.js b/test/built-ins/NativeErrors/ReferenceError/prototype/not-error-object.js new file mode 100755 index 0000000000..6bb112df8d --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/prototype/not-error-object.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + ReferenceError.prototype is not an error object instance. +info: > + Each NativeError prototype object is an ordinary object. It is not an + Error instance and does not have an [[ErrorData]] internal slot. +---*/ + +assert.sameValue(Object.prototype.toString.call(ReferenceError.prototype), "[object Object]"); diff --git a/test/built-ins/NativeErrors/ReferenceError/prototype/proto.js b/test/built-ins/NativeErrors/ReferenceError/prototype/proto.js new file mode 100755 index 0000000000..bffd499ef2 --- /dev/null +++ b/test/built-ins/NativeErrors/ReferenceError/prototype/proto.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + The prototype of ReferenceError.prototype is Error.prototype. +info: > + The value of the [[Prototype]] internal slot of each NativeError prototype + object is the intrinsic object %ErrorPrototype% (19.5.3). +---*/ + +assert.sameValue(Object.getPrototypeOf(ReferenceError.prototype), Error.prototype); diff --git a/test/built-ins/NativeErrors/SyntaxError/constructor.js b/test/built-ins/NativeErrors/SyntaxError/constructor.js new file mode 100755 index 0000000000..ecbae3e236 --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/constructor.js @@ -0,0 +1,10 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + SyntaxError is a constructor function. +---*/ + +assert.sameValue(typeof SyntaxError, 'function', 'typeof SyntaxError is "function"'); diff --git a/test/built-ins/NativeErrors/SyntaxError/instance-proto.js b/test/built-ins/NativeErrors/SyntaxError/instance-proto.js new file mode 100755 index 0000000000..745c1cb5ed --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/instance-proto.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + The prototype of SyntaxError instances is SyntaxError.prototype. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.getPrototypeOf(new SyntaxError), SyntaxError.prototype); diff --git a/test/built-ins/NativeErrors/SyntaxError/is-error-object.js b/test/built-ins/NativeErrors/SyntaxError/is-error-object.js new file mode 100755 index 0000000000..c4b4d4fa94 --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/is-error-object.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + SyntaxError instances have an [[ErrorData]] internal slot. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.prototype.toString.call(new SyntaxError), "[object Error]"); diff --git a/test/built-ins/NativeErrors/SyntaxError/length.js b/test/built-ins/NativeErrors/SyntaxError/length.js new file mode 100755 index 0000000000..6836ed76be --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + SyntaxError.length is 1. +info: > + NativeError ( message ) + + 19.5.6.2 Properties of the NativeError Constructors + Besides the length property (whose value is 1) [...]. + + 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(SyntaxError.length, 1); + +verifyNotEnumerable(SyntaxError, "length"); +verifyNotWritable(SyntaxError, "length"); +verifyConfigurable(SyntaxError, "length"); diff --git a/test/built-ins/NativeErrors/SyntaxError/name.js b/test/built-ins/NativeErrors/SyntaxError/name.js new file mode 100755 index 0000000000..34f04980d8 --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + SyntaxError.name is "SyntaxError". +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(SyntaxError.name, "SyntaxError"); + +verifyNotEnumerable(SyntaxError, "name"); +verifyNotWritable(SyntaxError, "name"); +verifyConfigurable(SyntaxError, "name"); diff --git a/test/built-ins/NativeErrors/SyntaxError/proto.js b/test/built-ins/NativeErrors/SyntaxError/proto.js new file mode 100755 index 0000000000..6ca28b2d58 --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/proto.js @@ -0,0 +1,12 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + The prototype of SyntaxError is Error. +info: > + The value of the [[Prototype]] internal slot of a NativeError constructor is the intrinsic object %Error% (19.5.1). +---*/ + +assert.sameValue(Object.getPrototypeOf(SyntaxError), Error); diff --git a/test/built-ins/NativeErrors/SyntaxError/prototype.js b/test/built-ins/NativeErrors/SyntaxError/prototype.js new file mode 100755 index 0000000000..f6ab80d837 --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/prototype.js @@ -0,0 +1,19 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2.1 +description: > + The initial value of SyntaxError.prototype is the SyntaxError prototype object. +info: > + The initial value of NativeError.prototype is a NativeError prototype object (19.5.6.3). + Each NativeError constructor has a distinct prototype object. + This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +---*/ + +assert.sameValue(SyntaxError.prototype, Object.getPrototypeOf(new SyntaxError)); + +verifyNotEnumerable(SyntaxError, "prototype"); +verifyNotWritable(SyntaxError, "prototype"); +verifyNotConfigurable(SyntaxError, "prototype"); diff --git a/test/built-ins/NativeErrors/SyntaxError/prototype/constructor.js b/test/built-ins/NativeErrors/SyntaxError/prototype/constructor.js new file mode 100755 index 0000000000..138c053f3b --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/prototype/constructor.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.1 +description: > + The initial value of SyntaxError.prototype.constructor is the SyntaxError object. +info: > + The initial value of the constructor property of the prototype for a given NativeError + constructor is the corresponding intrinsic object %NativeError% (19.5.6.1). + + 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(SyntaxError.prototype.constructor, SyntaxError); + +verifyNotEnumerable(SyntaxError.prototype, "constructor"); +verifyWritable(SyntaxError.prototype, "constructor"); +verifyConfigurable(SyntaxError.prototype, "constructor"); diff --git a/test/built-ins/NativeErrors/SyntaxError/prototype/message.js b/test/built-ins/NativeErrors/SyntaxError/prototype/message.js new file mode 100755 index 0000000000..fdebed5cae --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/prototype/message.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.2 +description: > + The initial value of SyntaxError.prototype.message is the empty string. +info: > + The initial value of the message property of the prototype for a given NativeError + constructor is the empty String. + + 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(SyntaxError.prototype.message, ""); + +verifyNotEnumerable(SyntaxError.prototype, "message"); +verifyWritable(SyntaxError.prototype, "message"); +verifyConfigurable(SyntaxError.prototype, "message"); diff --git a/test/built-ins/NativeErrors/SyntaxError/prototype/name.js b/test/built-ins/NativeErrors/SyntaxError/prototype/name.js new file mode 100755 index 0000000000..91971a50b0 --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/prototype/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.3 +description: > + The initial value of SyntaxError.prototype.name is "SyntaxError". +info: > + The initial value of the name property of the prototype for a given NativeError + constructor is a string consisting of the name of the constructor (the name used + instead of NativeError). + + 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(SyntaxError.prototype.name, "SyntaxError"); + +verifyNotEnumerable(SyntaxError.prototype, "name"); +verifyWritable(SyntaxError.prototype, "name"); +verifyConfigurable(SyntaxError.prototype, "name"); diff --git a/test/built-ins/NativeErrors/SyntaxError/prototype/not-error-object.js b/test/built-ins/NativeErrors/SyntaxError/prototype/not-error-object.js new file mode 100755 index 0000000000..fd0f67fd71 --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/prototype/not-error-object.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + SyntaxError.prototype is not an error object instance. +info: > + Each NativeError prototype object is an ordinary object. It is not an + Error instance and does not have an [[ErrorData]] internal slot. +---*/ + +assert.sameValue(Object.prototype.toString.call(SyntaxError.prototype), "[object Object]"); diff --git a/test/built-ins/NativeErrors/SyntaxError/prototype/proto.js b/test/built-ins/NativeErrors/SyntaxError/prototype/proto.js new file mode 100755 index 0000000000..e1654ece7a --- /dev/null +++ b/test/built-ins/NativeErrors/SyntaxError/prototype/proto.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + The prototype of SyntaxError.prototype is Error.prototype. +info: > + The value of the [[Prototype]] internal slot of each NativeError prototype + object is the intrinsic object %ErrorPrototype% (19.5.3). +---*/ + +assert.sameValue(Object.getPrototypeOf(SyntaxError.prototype), Error.prototype); diff --git a/test/built-ins/NativeErrors/TypeError/constructor.js b/test/built-ins/NativeErrors/TypeError/constructor.js new file mode 100755 index 0000000000..777d410d70 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/constructor.js @@ -0,0 +1,10 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + TypeError is a constructor function. +---*/ + +assert.sameValue(typeof TypeError, 'function', 'typeof TypeError is "function"'); diff --git a/test/built-ins/NativeErrors/TypeError/instance-proto.js b/test/built-ins/NativeErrors/TypeError/instance-proto.js new file mode 100755 index 0000000000..fa176ad646 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/instance-proto.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + The prototype of TypeError instances is TypeError.prototype. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.getPrototypeOf(new TypeError), TypeError.prototype); diff --git a/test/built-ins/NativeErrors/TypeError/is-error-object.js b/test/built-ins/NativeErrors/TypeError/is-error-object.js new file mode 100755 index 0000000000..3df960fe32 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/is-error-object.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + TypeError instances have an [[ErrorData]] internal slot. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.prototype.toString.call(new TypeError), "[object Error]"); diff --git a/test/built-ins/NativeErrors/TypeError/length.js b/test/built-ins/NativeErrors/TypeError/length.js new file mode 100755 index 0000000000..cbd3a83880 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + TypeError.length is 1. +info: > + NativeError ( message ) + + 19.5.6.2 Properties of the NativeError Constructors + Besides the length property (whose value is 1) [...]. + + 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(TypeError.length, 1); + +verifyNotEnumerable(TypeError, "length"); +verifyNotWritable(TypeError, "length"); +verifyConfigurable(TypeError, "length"); diff --git a/test/built-ins/NativeErrors/TypeError/name.js b/test/built-ins/NativeErrors/TypeError/name.js new file mode 100755 index 0000000000..be5a5e3d27 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + TypeError.name is "TypeError". +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(TypeError.name, "TypeError"); + +verifyNotEnumerable(TypeError, "name"); +verifyNotWritable(TypeError, "name"); +verifyConfigurable(TypeError, "name"); diff --git a/test/built-ins/NativeErrors/TypeError/proto.js b/test/built-ins/NativeErrors/TypeError/proto.js new file mode 100755 index 0000000000..c9f482f85b --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/proto.js @@ -0,0 +1,12 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + The prototype of TypeError is Error. +info: > + The value of the [[Prototype]] internal slot of a NativeError constructor is the intrinsic object %Error% (19.5.1). +---*/ + +assert.sameValue(Object.getPrototypeOf(TypeError), Error); diff --git a/test/built-ins/NativeErrors/TypeError/prototype.js b/test/built-ins/NativeErrors/TypeError/prototype.js new file mode 100755 index 0000000000..1b959527ce --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/prototype.js @@ -0,0 +1,19 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2.1 +description: > + The initial value of TypeError.prototype is the TypeError prototype object. +info: > + The initial value of NativeError.prototype is a NativeError prototype object (19.5.6.3). + Each NativeError constructor has a distinct prototype object. + This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +---*/ + +assert.sameValue(TypeError.prototype, Object.getPrototypeOf(new TypeError)); + +verifyNotEnumerable(TypeError, "prototype"); +verifyNotWritable(TypeError, "prototype"); +verifyNotConfigurable(TypeError, "prototype"); diff --git a/test/built-ins/NativeErrors/TypeError/prototype/constructor.js b/test/built-ins/NativeErrors/TypeError/prototype/constructor.js new file mode 100755 index 0000000000..4c27ee5fa3 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/prototype/constructor.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.1 +description: > + The initial value of TypeError.prototype.constructor is the TypeError object. +info: > + The initial value of the constructor property of the prototype for a given NativeError + constructor is the corresponding intrinsic object %NativeError% (19.5.6.1). + + 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(TypeError.prototype.constructor, TypeError); + +verifyNotEnumerable(TypeError.prototype, "constructor"); +verifyWritable(TypeError.prototype, "constructor"); +verifyConfigurable(TypeError.prototype, "constructor"); diff --git a/test/built-ins/NativeErrors/TypeError/prototype/message.js b/test/built-ins/NativeErrors/TypeError/prototype/message.js new file mode 100755 index 0000000000..6dd1fdfbd7 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/prototype/message.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.2 +description: > + The initial value of TypeError.prototype.message is the empty string. +info: > + The initial value of the message property of the prototype for a given NativeError + constructor is the empty String. + + 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(TypeError.prototype.message, ""); + +verifyNotEnumerable(TypeError.prototype, "message"); +verifyWritable(TypeError.prototype, "message"); +verifyConfigurable(TypeError.prototype, "message"); diff --git a/test/built-ins/NativeErrors/TypeError/prototype/name.js b/test/built-ins/NativeErrors/TypeError/prototype/name.js new file mode 100755 index 0000000000..687c27bc59 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/prototype/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.3 +description: > + The initial value of TypeError.prototype.name is "TypeError". +info: > + The initial value of the name property of the prototype for a given NativeError + constructor is a string consisting of the name of the constructor (the name used + instead of NativeError). + + 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(TypeError.prototype.name, "TypeError"); + +verifyNotEnumerable(TypeError.prototype, "name"); +verifyWritable(TypeError.prototype, "name"); +verifyConfigurable(TypeError.prototype, "name"); diff --git a/test/built-ins/NativeErrors/TypeError/prototype/not-error-object.js b/test/built-ins/NativeErrors/TypeError/prototype/not-error-object.js new file mode 100755 index 0000000000..d30e5e8e51 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/prototype/not-error-object.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + TypeError.prototype is not an error object instance. +info: > + Each NativeError prototype object is an ordinary object. It is not an + Error instance and does not have an [[ErrorData]] internal slot. +---*/ + +assert.sameValue(Object.prototype.toString.call(TypeError.prototype), "[object Object]"); diff --git a/test/built-ins/NativeErrors/TypeError/prototype/proto.js b/test/built-ins/NativeErrors/TypeError/prototype/proto.js new file mode 100755 index 0000000000..af405e1503 --- /dev/null +++ b/test/built-ins/NativeErrors/TypeError/prototype/proto.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + The prototype of TypeError.prototype is Error.prototype. +info: > + The value of the [[Prototype]] internal slot of each NativeError prototype + object is the intrinsic object %ErrorPrototype% (19.5.3). +---*/ + +assert.sameValue(Object.getPrototypeOf(TypeError.prototype), Error.prototype); diff --git a/test/built-ins/NativeErrors/URIError/constructor.js b/test/built-ins/NativeErrors/URIError/constructor.js new file mode 100755 index 0000000000..7e7aac49e5 --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/constructor.js @@ -0,0 +1,10 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + URIError is a constructor function. +---*/ + +assert.sameValue(typeof URIError, 'function', 'typeof URIError is "function"'); diff --git a/test/built-ins/NativeErrors/URIError/instance-proto.js b/test/built-ins/NativeErrors/URIError/instance-proto.js new file mode 100755 index 0000000000..58c432f5f4 --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/instance-proto.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + The prototype of URIError instances is URIError.prototype. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.getPrototypeOf(new URIError), URIError.prototype); diff --git a/test/built-ins/NativeErrors/URIError/is-error-object.js b/test/built-ins/NativeErrors/URIError/is-error-object.js new file mode 100755 index 0000000000..dbce44e90e --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/is-error-object.js @@ -0,0 +1,14 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.4 +description: > + URIError instances have an [[ErrorData]] internal slot. +info: > + NativeError instances are ordinary objects that inherit properties + from their NativeError prototype object and have an [[ErrorData]] + internal slot whose value is undefined +---*/ + +assert.sameValue(Object.prototype.toString.call(new URIError), "[object Error]"); diff --git a/test/built-ins/NativeErrors/URIError/length.js b/test/built-ins/NativeErrors/URIError/length.js new file mode 100755 index 0000000000..4d5f631c66 --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/length.js @@ -0,0 +1,32 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + URIError.length is 1. +info: > + NativeError ( message ) + + 19.5.6.2 Properties of the NativeError Constructors + Besides the length property (whose value is 1) [...]. + + 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(URIError.length, 1); + +verifyNotEnumerable(URIError, "length"); +verifyNotWritable(URIError, "length"); +verifyConfigurable(URIError, "length"); diff --git a/test/built-ins/NativeErrors/URIError/name.js b/test/built-ins/NativeErrors/URIError/name.js new file mode 100755 index 0000000000..f0048b5398 --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.1 +description: > + URIError.name is "URIError". +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(URIError.name, "URIError"); + +verifyNotEnumerable(URIError, "name"); +verifyNotWritable(URIError, "name"); +verifyConfigurable(URIError, "name"); diff --git a/test/built-ins/NativeErrors/URIError/proto.js b/test/built-ins/NativeErrors/URIError/proto.js new file mode 100755 index 0000000000..e1fc2cb00f --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/proto.js @@ -0,0 +1,12 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2 +description: > + The prototype of URIError is Error. +info: > + The value of the [[Prototype]] internal slot of a NativeError constructor is the intrinsic object %Error% (19.5.1). +---*/ + +assert.sameValue(Object.getPrototypeOf(URIError), Error); diff --git a/test/built-ins/NativeErrors/URIError/prototype.js b/test/built-ins/NativeErrors/URIError/prototype.js new file mode 100755 index 0000000000..dead970454 --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/prototype.js @@ -0,0 +1,19 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.2.1 +description: > + The initial value of URIError.prototype is the URIError prototype object. +info: > + The initial value of NativeError.prototype is a NativeError prototype object (19.5.6.3). + Each NativeError constructor has a distinct prototype object. + This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. +includes: [propertyHelper.js] +---*/ + +assert.sameValue(URIError.prototype, Object.getPrototypeOf(new URIError)); + +verifyNotEnumerable(URIError, "prototype"); +verifyNotWritable(URIError, "prototype"); +verifyNotConfigurable(URIError, "prototype"); diff --git a/test/built-ins/NativeErrors/URIError/prototype/constructor.js b/test/built-ins/NativeErrors/URIError/prototype/constructor.js new file mode 100755 index 0000000000..6c2ab7f6e8 --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/prototype/constructor.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.1 +description: > + The initial value of URIError.prototype.constructor is the URIError object. +info: > + The initial value of the constructor property of the prototype for a given NativeError + constructor is the corresponding intrinsic object %NativeError% (19.5.6.1). + + 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(URIError.prototype.constructor, URIError); + +verifyNotEnumerable(URIError.prototype, "constructor"); +verifyWritable(URIError.prototype, "constructor"); +verifyConfigurable(URIError.prototype, "constructor"); diff --git a/test/built-ins/NativeErrors/URIError/prototype/message.js b/test/built-ins/NativeErrors/URIError/prototype/message.js new file mode 100755 index 0000000000..04fa0c0984 --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/prototype/message.js @@ -0,0 +1,23 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.2 +description: > + The initial value of URIError.prototype.message is the empty string. +info: > + The initial value of the message property of the prototype for a given NativeError + constructor is the empty String. + + 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(URIError.prototype.message, ""); + +verifyNotEnumerable(URIError.prototype, "message"); +verifyWritable(URIError.prototype, "message"); +verifyConfigurable(URIError.prototype, "message"); diff --git a/test/built-ins/NativeErrors/URIError/prototype/name.js b/test/built-ins/NativeErrors/URIError/prototype/name.js new file mode 100755 index 0000000000..f3dbbd057a --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/prototype/name.js @@ -0,0 +1,24 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3.3 +description: > + The initial value of URIError.prototype.name is "URIError". +info: > + The initial value of the name property of the prototype for a given NativeError + constructor is a string consisting of the name of the constructor (the name used + instead of NativeError). + + 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(URIError.prototype.name, "URIError"); + +verifyNotEnumerable(URIError.prototype, "name"); +verifyWritable(URIError.prototype, "name"); +verifyConfigurable(URIError.prototype, "name"); diff --git a/test/built-ins/NativeErrors/URIError/prototype/not-error-object.js b/test/built-ins/NativeErrors/URIError/prototype/not-error-object.js new file mode 100755 index 0000000000..c693d1c22b --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/prototype/not-error-object.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + URIError.prototype is not an error object instance. +info: > + Each NativeError prototype object is an ordinary object. It is not an + Error instance and does not have an [[ErrorData]] internal slot. +---*/ + +assert.sameValue(Object.prototype.toString.call(URIError.prototype), "[object Object]"); diff --git a/test/built-ins/NativeErrors/URIError/prototype/proto.js b/test/built-ins/NativeErrors/URIError/prototype/proto.js new file mode 100755 index 0000000000..857d56b05d --- /dev/null +++ b/test/built-ins/NativeErrors/URIError/prototype/proto.js @@ -0,0 +1,13 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 19.5.6.3 +description: > + The prototype of URIError.prototype is Error.prototype. +info: > + The value of the [[Prototype]] internal slot of each NativeError prototype + object is the intrinsic object %ErrorPrototype% (19.5.3). +---*/ + +assert.sameValue(Object.getPrototypeOf(URIError.prototype), Error.prototype); -- GitLab