From 08a7b9d4b6f7e57be840101ecd3e38cbed5b5e11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= Date: Mon, 11 Sep 2023 14:15:04 +0200 Subject: [PATCH] Use verifyProperty in language/expressions tests --- .../expressions/arrow-function/length-dflt.js | 40 +++++++++++-------- .../expressions/assignment/fn-name-arrow.js | 10 +++-- .../expressions/assignment/fn-name-class.js | 10 +++-- .../expressions/assignment/fn-name-cover.js | 10 +++-- .../expressions/assignment/fn-name-fn.js | 10 +++-- .../expressions/assignment/fn-name-gen.js | 10 +++-- .../class/gen-method-length-dflt.js | 40 +++++++++++-------- .../expressions/class/method-length-dflt.js | 40 +++++++++++-------- .../expressions/class/setter-length-dflt.js | 10 +++-- .../class/static-method-length-dflt.js | 40 +++++++++++-------- .../expressions/function/length-dflt.js | 40 +++++++++++-------- .../expressions/generators/length-dflt.js | 40 +++++++++++-------- .../generators/length-property-descriptor.js | 10 +++-- .../prototype-property-descriptor.js | 8 ++-- .../object/fn-name-accessor-get.js | 30 ++++++++------ .../object/fn-name-accessor-set.js | 30 ++++++++------ .../expressions/object/fn-name-arrow.js | 30 ++++++++------ .../expressions/object/fn-name-class.js | 30 ++++++++------ .../expressions/object/fn-name-cover.js | 30 ++++++++------ .../language/expressions/object/fn-name-fn.js | 30 ++++++++------ .../expressions/object/fn-name-gen.js | 30 ++++++++------ .../expressions/object/getter-prop-desc.js | 7 +++- .../object/method-definition/fn-name-fn.js | 30 ++++++++------ .../object/method-definition/fn-name-gen.js | 30 ++++++++------ .../generator-length-dflt.js | 40 +++++++++++-------- .../method-definition/generator-length.js | 10 +++-- .../generator-name-prop-string.js | 10 +++-- .../generator-name-prop-symbol.js | 10 +++-- .../generator-property-desc.js | 8 ++-- .../generator-prototype-prop.js | 10 +++-- .../method-definition/name-length-dflt.js | 40 +++++++++++-------- .../object/method-definition/name-length.js | 10 +++-- .../name-name-prop-string.js | 10 +++-- .../name-name-prop-symbol.js | 10 +++-- .../method-definition/name-property-desc.js | 8 ++-- .../expressions/object/prop-def-id-valid.js | 10 +++-- .../expressions/object/setter-length-dflt.js | 10 +++-- .../expressions/object/setter-prop-desc.js | 7 +++- 38 files changed, 475 insertions(+), 313 deletions(-) diff --git a/test/language/expressions/arrow-function/length-dflt.js b/test/language/expressions/arrow-function/length-dflt.js index b06e5b1d5a..8aa92f1a37 100644 --- a/test/language/expressions/arrow-function/length-dflt.js +++ b/test/language/expressions/arrow-function/length-dflt.js @@ -33,28 +33,36 @@ includes: [propertyHelper.js] var f1 = (x = 42) => {}; -assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); -verifyNotEnumerable(f1, 'length'); -verifyNotWritable(f1, 'length'); -verifyConfigurable(f1, 'length'); +verifyProperty(f1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f2 = (x = 42, y) => {}; -assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); -verifyNotEnumerable(f2, 'length'); -verifyNotWritable(f2, 'length'); -verifyConfigurable(f2, 'length'); +verifyProperty(f2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f3 = (x, y = 42) => {}; -assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); -verifyNotEnumerable(f3, 'length'); -verifyNotWritable(f3, 'length'); -verifyConfigurable(f3, 'length'); +verifyProperty(f3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var f4 = (x, y = 42, z) => {}; -assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); -verifyNotEnumerable(f4, 'length'); -verifyNotWritable(f4, 'length'); -verifyConfigurable(f4, 'length'); +verifyProperty(f4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/assignment/fn-name-arrow.js b/test/language/expressions/assignment/fn-name-arrow.js index fbc193ebea..cd48ac563d 100644 --- a/test/language/expressions/assignment/fn-name-arrow.js +++ b/test/language/expressions/assignment/fn-name-arrow.js @@ -25,7 +25,9 @@ var arrow; arrow = () => {}; -assert.sameValue(arrow.name, 'arrow'); -verifyNotEnumerable(arrow, 'name'); -verifyNotWritable(arrow, 'name'); -verifyConfigurable(arrow, 'name'); +verifyProperty(arrow, 'name', { + value: 'arrow', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/assignment/fn-name-class.js b/test/language/expressions/assignment/fn-name-class.js index 9050cf4cda..3d1ea10d68 100644 --- a/test/language/expressions/assignment/fn-name-class.js +++ b/test/language/expressions/assignment/fn-name-class.js @@ -31,7 +31,9 @@ xCls2 = class { static name() {} }; assert.notSameValue(xCls.name, 'xCls'); assert.notSameValue(xCls2.name, 'xCls2'); -assert.sameValue(cls.name, 'cls'); -verifyNotEnumerable(cls, 'name'); -verifyNotWritable(cls, 'name'); -verifyConfigurable(cls, 'name'); +verifyProperty(cls, 'name', { + value: 'cls', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/assignment/fn-name-cover.js b/test/language/expressions/assignment/fn-name-cover.js index 9b9f5b1425..b9fc6abc21 100644 --- a/test/language/expressions/assignment/fn-name-cover.js +++ b/test/language/expressions/assignment/fn-name-cover.js @@ -29,7 +29,9 @@ cover = (function() {}); assert(xCover.name !== 'xCover'); -assert.sameValue(cover.name, 'cover'); -verifyNotEnumerable(cover, 'name'); -verifyNotWritable(cover, 'name'); -verifyConfigurable(cover, 'name'); +verifyProperty(cover, 'name', { + value: 'cover', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/assignment/fn-name-fn.js b/test/language/expressions/assignment/fn-name-fn.js index 36a3ff6a09..5253f25ab3 100644 --- a/test/language/expressions/assignment/fn-name-fn.js +++ b/test/language/expressions/assignment/fn-name-fn.js @@ -28,7 +28,9 @@ fn = function() {}; assert(xFn.name !== 'xFn'); -assert.sameValue(fn.name, 'fn'); -verifyNotEnumerable(fn, 'name'); -verifyNotWritable(fn, 'name'); -verifyConfigurable(fn, 'name'); +verifyProperty(fn, 'name', { + value: 'fn', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/assignment/fn-name-gen.js b/test/language/expressions/assignment/fn-name-gen.js index 9eae230c74..e92fa8eef8 100644 --- a/test/language/expressions/assignment/fn-name-gen.js +++ b/test/language/expressions/assignment/fn-name-gen.js @@ -29,7 +29,9 @@ gen = function*() {}; assert(xGen.name !== 'xGen'); -assert.sameValue(gen.name, 'gen'); -verifyNotEnumerable(gen, 'name'); -verifyNotWritable(gen, 'name'); -verifyConfigurable(gen, 'name'); +verifyProperty(gen, 'name', { + value: 'gen', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/class/gen-method-length-dflt.js b/test/language/expressions/class/gen-method-length-dflt.js index bcc7506814..a18fc1c085 100644 --- a/test/language/expressions/class/gen-method-length-dflt.js +++ b/test/language/expressions/class/gen-method-length-dflt.js @@ -32,28 +32,36 @@ includes: [propertyHelper.js] var m1 = class { *m(x = 42) {} }.prototype.m; -assert.sameValue(m1.length, 0, 'formalslist: x = 42'); -verifyNotEnumerable(m1, 'length'); -verifyNotWritable(m1, 'length'); -verifyConfigurable(m1, 'length'); +verifyProperty(m1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var m2 = class { *m(x = 42, y) {} }.prototype.m; -assert.sameValue(m2.length, 0, 'formalslist: x = 42, y'); -verifyNotEnumerable(m2, 'length'); -verifyNotWritable(m2, 'length'); -verifyConfigurable(m2, 'length'); +verifyProperty(m2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var m3 = class { *m(x, y = 42) {} }.prototype.m; -assert.sameValue(m3.length, 1, 'formalslist: x, y = 42'); -verifyNotEnumerable(m3, 'length'); -verifyNotWritable(m3, 'length'); -verifyConfigurable(m3, 'length'); +verifyProperty(m3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var m4 = class { *m(x, y = 42, z) {} }.prototype.m; -assert.sameValue(m4.length, 1, 'formalslist: x, y = 42, z'); -verifyNotEnumerable(m4, 'length'); -verifyNotWritable(m4, 'length'); -verifyConfigurable(m4, 'length'); +verifyProperty(m4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/class/method-length-dflt.js b/test/language/expressions/class/method-length-dflt.js index 7d86f69902..d71b91862c 100644 --- a/test/language/expressions/class/method-length-dflt.js +++ b/test/language/expressions/class/method-length-dflt.js @@ -32,28 +32,36 @@ includes: [propertyHelper.js] var m1 = class { m(x = 42) {} }.prototype.m; -assert.sameValue(m1.length, 0, 'formalslist: x = 42'); -verifyNotEnumerable(m1, 'length'); -verifyNotWritable(m1, 'length'); -verifyConfigurable(m1, 'length'); +verifyProperty(m1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var m2 = class { m(x = 42, y) {} }.prototype.m; -assert.sameValue(m2.length, 0, 'formalslist: x = 42, y'); -verifyNotEnumerable(m2, 'length'); -verifyNotWritable(m2, 'length'); -verifyConfigurable(m2, 'length'); +verifyProperty(m2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var m3 = class { m(x, y = 42) {} }.prototype.m; -assert.sameValue(m3.length, 1, 'formalslist: x, y = 42'); -verifyNotEnumerable(m3, 'length'); -verifyNotWritable(m3, 'length'); -verifyConfigurable(m3, 'length'); +verifyProperty(m3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var m4 = class { m(x, y = 42, z) {} }.prototype.m; -assert.sameValue(m4.length, 1, 'formalslist: x, y = 42, z'); -verifyNotEnumerable(m4, 'length'); -verifyNotWritable(m4, 'length'); -verifyConfigurable(m4, 'length'); +verifyProperty(m4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/class/setter-length-dflt.js b/test/language/expressions/class/setter-length-dflt.js index 49ec1512dc..1994a8b325 100644 --- a/test/language/expressions/class/setter-length-dflt.js +++ b/test/language/expressions/class/setter-length-dflt.js @@ -33,7 +33,9 @@ includes: [propertyHelper.js] var C = class { set m(x = 42) {} }; var set = Object.getOwnPropertyDescriptor(C.prototype, 'm').set; -assert.sameValue(set.length, 0, 'FormalsList: x = 42'); -verifyNotEnumerable(set, 'length'); -verifyNotWritable(set, 'length'); -verifyConfigurable(set, 'length'); +verifyProperty(set, 'length', { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/class/static-method-length-dflt.js b/test/language/expressions/class/static-method-length-dflt.js index 4e638ef2ad..37af321767 100644 --- a/test/language/expressions/class/static-method-length-dflt.js +++ b/test/language/expressions/class/static-method-length-dflt.js @@ -32,28 +32,36 @@ includes: [propertyHelper.js] var m1 = class { static m(x = 42) {} }.m; -assert.sameValue(m1.length, 0, 'formalslist: x = 42'); -verifyNotEnumerable(m1, 'length'); -verifyNotWritable(m1, 'length'); -verifyConfigurable(m1, 'length'); +verifyProperty(m1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var m2 = class { static m(x = 42, y) {} }.m; -assert.sameValue(m2.length, 0, 'formalslist: x = 42, y'); -verifyNotEnumerable(m2, 'length'); -verifyNotWritable(m2, 'length'); -verifyConfigurable(m2, 'length'); +verifyProperty(m2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var m3 = class { static m(x, y = 42) {} }.m; -assert.sameValue(m3.length, 1, 'formalslist: x, y = 42'); -verifyNotEnumerable(m3, 'length'); -verifyNotWritable(m3, 'length'); -verifyConfigurable(m3, 'length'); +verifyProperty(m3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var m4 = class { static m(x, y = 42, z) {} }.m; -assert.sameValue(m4.length, 1, 'formalslist: x, y = 42, z'); -verifyNotEnumerable(m4, 'length'); -verifyNotWritable(m4, 'length'); -verifyConfigurable(m4, 'length'); +verifyProperty(m4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/function/length-dflt.js b/test/language/expressions/function/length-dflt.js index 724e8f7443..5072dd5917 100644 --- a/test/language/expressions/function/length-dflt.js +++ b/test/language/expressions/function/length-dflt.js @@ -33,28 +33,36 @@ includes: [propertyHelper.js] var f1 = function (x = 42) {}; -assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); -verifyNotEnumerable(f1, 'length'); -verifyNotWritable(f1, 'length'); -verifyConfigurable(f1, 'length'); +verifyProperty(f1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f2 = function (x = 42, y) {}; -assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); -verifyNotEnumerable(f2, 'length'); -verifyNotWritable(f2, 'length'); -verifyConfigurable(f2, 'length'); +verifyProperty(f2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f3 = function (x, y = 42) {}; -assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); -verifyNotEnumerable(f3, 'length'); -verifyNotWritable(f3, 'length'); -verifyConfigurable(f3, 'length'); +verifyProperty(f3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var f4 = function (x, y = 42, z) {}; -assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); -verifyNotEnumerable(f4, 'length'); -verifyNotWritable(f4, 'length'); -verifyConfigurable(f4, 'length'); +verifyProperty(f4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/generators/length-dflt.js b/test/language/expressions/generators/length-dflt.js index aa3f6ccabf..8c28fb4b3d 100644 --- a/test/language/expressions/generators/length-dflt.js +++ b/test/language/expressions/generators/length-dflt.js @@ -33,28 +33,36 @@ includes: [propertyHelper.js] var f1 = function* (x = 42) {}; -assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); -verifyNotEnumerable(f1, 'length'); -verifyNotWritable(f1, 'length'); -verifyConfigurable(f1, 'length'); +verifyProperty(f1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f2 = function* (x = 42, y) {}; -assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); -verifyNotEnumerable(f2, 'length'); -verifyNotWritable(f2, 'length'); -verifyConfigurable(f2, 'length'); +verifyProperty(f2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f3 = function* (x, y = 42) {}; -assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); -verifyNotEnumerable(f3, 'length'); -verifyNotWritable(f3, 'length'); -verifyConfigurable(f3, 'length'); +verifyProperty(f3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var f4 = function* (x, y = 42, z) {}; -assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); -verifyNotEnumerable(f4, 'length'); -verifyNotWritable(f4, 'length'); -verifyConfigurable(f4, 'length'); +verifyProperty(f4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/generators/length-property-descriptor.js b/test/language/expressions/generators/length-property-descriptor.js index 50885d987c..ec79a83904 100644 --- a/test/language/expressions/generators/length-property-descriptor.js +++ b/test/language/expressions/generators/length-property-descriptor.js @@ -11,7 +11,9 @@ features: [generators] var g = function*() {}; -assert.sameValue(g.length, 0); -verifyNotEnumerable(g, 'length'); -verifyNotWritable(g, 'length'); -verifyConfigurable(g, 'length'); +verifyProperty(g, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/generators/prototype-property-descriptor.js b/test/language/expressions/generators/prototype-property-descriptor.js index 9891bb261d..5fbb2fb9e7 100644 --- a/test/language/expressions/generators/prototype-property-descriptor.js +++ b/test/language/expressions/generators/prototype-property-descriptor.js @@ -11,6 +11,8 @@ features: [generators] var g = function*() {}; -verifyNotEnumerable(g, 'prototype'); -verifyWritable(g, 'prototype'); -verifyNotConfigurable(g, 'prototype'); +verifyProperty(g, "prototype", { + writable: true, + enumerable: false, + configurable: false, +}); diff --git a/test/language/expressions/object/fn-name-accessor-get.js b/test/language/expressions/object/fn-name-accessor-get.js index 3a2c6647dd..024d3ff81a 100644 --- a/test/language/expressions/object/fn-name-accessor-get.js +++ b/test/language/expressions/object/fn-name-accessor-get.js @@ -24,19 +24,25 @@ o = { }; getter = Object.getOwnPropertyDescriptor(o, 'id').get; -assert.sameValue(getter.name, 'get id'); -verifyNotEnumerable(getter, 'name'); -verifyNotWritable(getter, 'name'); -verifyConfigurable(getter, 'name'); +verifyProperty(getter, 'name', { + value: 'get id', + writable: false, + enumerable: false, + configurable: true, +}); getter = Object.getOwnPropertyDescriptor(o, anonSym).get; -assert.sameValue(getter.name, 'get '); -verifyNotEnumerable(getter, 'name'); -verifyNotWritable(getter, 'name'); -verifyConfigurable(getter, 'name'); +verifyProperty(getter, 'name', { + value: 'get ', + writable: false, + enumerable: false, + configurable: true, +}); getter = Object.getOwnPropertyDescriptor(o, namedSym).get; -assert.sameValue(getter.name, 'get [test262]'); -verifyNotEnumerable(getter, 'name'); -verifyNotWritable(getter, 'name'); -verifyConfigurable(getter, 'name'); +verifyProperty(getter, 'name', { + value: 'get [test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/fn-name-accessor-set.js b/test/language/expressions/object/fn-name-accessor-set.js index e8e7c7f236..ea98907304 100644 --- a/test/language/expressions/object/fn-name-accessor-set.js +++ b/test/language/expressions/object/fn-name-accessor-set.js @@ -25,19 +25,25 @@ o = { }; setter = Object.getOwnPropertyDescriptor(o, 'id').set; -assert.sameValue(setter.name, 'set id'); -verifyNotEnumerable(setter, 'name'); -verifyNotWritable(setter, 'name'); -verifyConfigurable(setter, 'name'); +verifyProperty(setter, 'name', { + value: 'set id', + writable: false, + enumerable: false, + configurable: true, +}); setter = Object.getOwnPropertyDescriptor(o, anonSym).set; -assert.sameValue(setter.name, 'set '); -verifyNotEnumerable(setter, 'name'); -verifyNotWritable(setter, 'name'); -verifyConfigurable(setter, 'name'); +verifyProperty(setter, 'name', { + value: 'set ', + writable: false, + enumerable: false, + configurable: true, +}); setter = Object.getOwnPropertyDescriptor(o, namedSym).set; -assert.sameValue(setter.name, 'set [test262]'); -verifyNotEnumerable(setter, 'name'); -verifyNotWritable(setter, 'name'); -verifyConfigurable(setter, 'name'); +verifyProperty(setter, 'name', { + value: 'set [test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/fn-name-arrow.js b/test/language/expressions/object/fn-name-arrow.js index 0605fc35d4..5d19602489 100644 --- a/test/language/expressions/object/fn-name-arrow.js +++ b/test/language/expressions/object/fn-name-arrow.js @@ -24,17 +24,23 @@ o = { [namedSym]: () => {} }; -assert.sameValue(o.id.name, 'id', 'via IdentifierName'); -verifyNotEnumerable(o.id, 'name'); -verifyNotWritable(o.id, 'name'); -verifyConfigurable(o.id, 'name'); +verifyProperty(o.id, 'name', { + value: 'id', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); -verifyNotEnumerable(o[anonSym], 'name'); -verifyNotWritable(o[anonSym], 'name'); -verifyConfigurable(o[anonSym], 'name'); +verifyProperty(o[anonSym], 'name', { + value: '', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); -verifyNotEnumerable(o[namedSym], 'name'); -verifyNotWritable(o[namedSym], 'name'); -verifyConfigurable(o[namedSym], 'name'); +verifyProperty(o[namedSym], 'name', { + value: '[test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/fn-name-class.js b/test/language/expressions/object/fn-name-class.js index a91a9946d3..b9cdbc90d8 100644 --- a/test/language/expressions/object/fn-name-class.js +++ b/test/language/expressions/object/fn-name-class.js @@ -27,17 +27,23 @@ o = { assert(o.xId.name !== 'xId'); -assert.sameValue(o.id.name, 'id', 'via IdentifierName'); -verifyNotEnumerable(o.id, 'name'); -verifyNotWritable(o.id, 'name'); -verifyConfigurable(o.id, 'name'); +verifyProperty(o.id, 'name', { + value: 'id', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); -verifyNotEnumerable(o[anonSym], 'name'); -verifyNotWritable(o[anonSym], 'name'); -verifyConfigurable(o[anonSym], 'name'); +verifyProperty(o[anonSym], 'name', { + value: '', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); -verifyNotEnumerable(o[namedSym], 'name'); -verifyNotWritable(o[namedSym], 'name'); -verifyConfigurable(o[namedSym], 'name'); +verifyProperty(o[namedSym], 'name', { + value: '[test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/fn-name-cover.js b/test/language/expressions/object/fn-name-cover.js index 1b14d6c794..6027db9d3c 100644 --- a/test/language/expressions/object/fn-name-cover.js +++ b/test/language/expressions/object/fn-name-cover.js @@ -28,17 +28,23 @@ o = { assert(o.xId.name !== 'xId'); -assert.sameValue(o.id.name, 'id', 'via IdentifierName'); -verifyNotEnumerable(o.id, 'name'); -verifyNotWritable(o.id, 'name'); -verifyConfigurable(o.id, 'name'); +verifyProperty(o.id, 'name', { + value: 'id', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); -verifyNotEnumerable(o[anonSym], 'name'); -verifyNotWritable(o[anonSym], 'name'); -verifyConfigurable(o[anonSym], 'name'); +verifyProperty(o[anonSym], 'name', { + value: '', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); -verifyNotEnumerable(o[namedSym], 'name'); -verifyNotWritable(o[namedSym], 'name'); -verifyConfigurable(o[namedSym], 'name'); +verifyProperty(o[namedSym], 'name', { + value: '[test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/fn-name-fn.js b/test/language/expressions/object/fn-name-fn.js index 2e334c07e4..092068ed87 100644 --- a/test/language/expressions/object/fn-name-fn.js +++ b/test/language/expressions/object/fn-name-fn.js @@ -27,17 +27,23 @@ o = { assert(o.xId.name !== 'xId'); -assert.sameValue(o.id.name, 'id', 'via IdentifierName'); -verifyNotEnumerable(o.id, 'name'); -verifyNotWritable(o.id, 'name'); -verifyConfigurable(o.id, 'name'); +verifyProperty(o.id, 'name', { + value: 'id', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); -verifyNotEnumerable(o[anonSym], 'name'); -verifyNotWritable(o[anonSym], 'name'); -verifyConfigurable(o[anonSym], 'name'); +verifyProperty(o[anonSym], 'name', { + value: '', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); -verifyNotEnumerable(o[namedSym], 'name'); -verifyNotWritable(o[namedSym], 'name'); -verifyConfigurable(o[namedSym], 'name'); +verifyProperty(o[namedSym], 'name', { + value: '[test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/fn-name-gen.js b/test/language/expressions/object/fn-name-gen.js index 37cec2619d..a266d10fbd 100644 --- a/test/language/expressions/object/fn-name-gen.js +++ b/test/language/expressions/object/fn-name-gen.js @@ -28,17 +28,23 @@ o = { assert(o.xId.name !== 'xId'); -assert.sameValue(o.id.name, 'id', 'via IdentifierName'); -verifyNotEnumerable(o.id, 'name'); -verifyNotWritable(o.id, 'name'); -verifyConfigurable(o.id, 'name'); +verifyProperty(o.id, 'name', { + value: 'id', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); -verifyNotEnumerable(o[anonSym], 'name'); -verifyNotWritable(o[anonSym], 'name'); -verifyConfigurable(o[anonSym], 'name'); +verifyProperty(o[anonSym], 'name', { + value: '', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); -verifyNotEnumerable(o[namedSym], 'name'); -verifyNotWritable(o[namedSym], 'name'); -verifyConfigurable(o[namedSym], 'name'); +verifyProperty(o[namedSym], 'name', { + value: '[test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/getter-prop-desc.js b/test/language/expressions/object/getter-prop-desc.js index 440aa359c5..ce401e64ea 100644 --- a/test/language/expressions/object/getter-prop-desc.js +++ b/test/language/expressions/object/getter-prop-desc.js @@ -29,8 +29,11 @@ includes: [propertyHelper.js] var obj = { get m() { return 1234; } }; var desc = Object.getOwnPropertyDescriptor(obj, 'm'); -verifyEnumerable(obj, 'm'); -verifyConfigurable(obj, 'm'); +verifyProperty(obj, 'm', { + enumerable: true, + configurable: true, +}); + assert.sameValue(desc.value, undefined, '`value` field'); assert.sameValue(desc.set, undefined, '`set` field'); assert.sameValue(typeof desc.get, 'function', 'type of `get` field'); diff --git a/test/language/expressions/object/method-definition/fn-name-fn.js b/test/language/expressions/object/method-definition/fn-name-fn.js index 751778c1bb..d0ca85c93e 100644 --- a/test/language/expressions/object/method-definition/fn-name-fn.js +++ b/test/language/expressions/object/method-definition/fn-name-fn.js @@ -24,17 +24,23 @@ o = { [namedSym]() {} }; -assert.sameValue(o.id.name, 'id', 'via IdentifierName'); -verifyNotEnumerable(o.id, 'name'); -verifyNotWritable(o.id, 'name'); -verifyConfigurable(o.id, 'name'); +verifyProperty(o.id, 'name', { + value: 'id', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); -verifyNotEnumerable(o[anonSym], 'name'); -verifyNotWritable(o[anonSym], 'name'); -verifyConfigurable(o[anonSym], 'name'); +verifyProperty(o[anonSym], 'name', { + value: '', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); -verifyNotEnumerable(o[namedSym], 'name'); -verifyNotWritable(o[namedSym], 'name'); -verifyConfigurable(o[namedSym], 'name'); +verifyProperty(o[namedSym], 'name', { + value: '[test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/fn-name-gen.js b/test/language/expressions/object/method-definition/fn-name-gen.js index 13bf2999ce..d87e567555 100644 --- a/test/language/expressions/object/method-definition/fn-name-gen.js +++ b/test/language/expressions/object/method-definition/fn-name-gen.js @@ -25,17 +25,23 @@ o = { *[namedSym]() {} }; -assert.sameValue(o.id.name, 'id', 'via IdentifierName'); -verifyNotEnumerable(o.id, 'name'); -verifyNotWritable(o.id, 'name'); -verifyConfigurable(o.id, 'name'); +verifyProperty(o.id, 'name', { + value: 'id', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); -verifyNotEnumerable(o[anonSym], 'name'); -verifyNotWritable(o[anonSym], 'name'); -verifyConfigurable(o[anonSym], 'name'); +verifyProperty(o[anonSym], 'name', { + value: '', + writable: false, + enumerable: false, + configurable: true, +}); -assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); -verifyNotEnumerable(o[namedSym], 'name'); -verifyNotWritable(o[namedSym], 'name'); -verifyConfigurable(o[namedSym], 'name'); +verifyProperty(o[namedSym], 'name', { + value: '[test262]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/generator-length-dflt.js b/test/language/expressions/object/method-definition/generator-length-dflt.js index ab1e872aed..0cc9f36f24 100644 --- a/test/language/expressions/object/method-definition/generator-length-dflt.js +++ b/test/language/expressions/object/method-definition/generator-length-dflt.js @@ -33,28 +33,36 @@ includes: [propertyHelper.js] var f1 = { *m(x = 42) {} }.m; -assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); -verifyNotEnumerable(f1, 'length'); -verifyNotWritable(f1, 'length'); -verifyConfigurable(f1, 'length'); +verifyProperty(f1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f2 = { *m(x = 42, y) {} }.m; -assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); -verifyNotEnumerable(f2, 'length'); -verifyNotWritable(f2, 'length'); -verifyConfigurable(f2, 'length'); +verifyProperty(f2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f3 = { *m(x, y = 42) {} }.m; -assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); -verifyNotEnumerable(f3, 'length'); -verifyNotWritable(f3, 'length'); -verifyConfigurable(f3, 'length'); +verifyProperty(f3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var f4 = { *m(x, y = 42, z) {} }.m; -assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); -verifyNotEnumerable(f4, 'length'); -verifyNotWritable(f4, 'length'); -verifyConfigurable(f4, 'length') +verifyProperty(f4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/generator-length.js b/test/language/expressions/object/method-definition/generator-length.js index 1ca0321b43..1492236110 100644 --- a/test/language/expressions/object/method-definition/generator-length.js +++ b/test/language/expressions/object/method-definition/generator-length.js @@ -12,7 +12,9 @@ features: [generators] var method = { *method(a, b, c) {} }.method; -assert.sameValue(method.length, 3); -verifyNotEnumerable(method, 'length'); -verifyNotWritable(method, 'length'); -verifyConfigurable(method, 'length'); +verifyProperty(method, "length", { + value: 3, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/generator-name-prop-string.js b/test/language/expressions/object/method-definition/generator-name-prop-string.js index 37d7c25c72..b4c7e5ad5e 100644 --- a/test/language/expressions/object/method-definition/generator-name-prop-string.js +++ b/test/language/expressions/object/method-definition/generator-name-prop-string.js @@ -12,7 +12,9 @@ features: [generators] var method = { *method() {} }.method; -assert.sameValue(method.name, 'method'); -verifyNotEnumerable(method, 'name'); -verifyNotWritable(method, 'name'); -verifyConfigurable(method, 'name'); +verifyProperty(method, 'name', { + value: 'method', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/generator-name-prop-symbol.js b/test/language/expressions/object/method-definition/generator-name-prop-symbol.js index 5edb815c2a..c2f1d1cc68 100644 --- a/test/language/expressions/object/method-definition/generator-name-prop-symbol.js +++ b/test/language/expressions/object/method-definition/generator-name-prop-symbol.js @@ -13,7 +13,9 @@ features: [Symbol, generators] var m = Symbol('method'); var method = { *[m]() {} }[m]; -assert.sameValue(method.name, '[method]'); -verifyNotEnumerable(method, 'name'); -verifyNotWritable(method, 'name'); -verifyConfigurable(method, 'name'); +verifyProperty(method, 'name', { + value: '[method]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/generator-property-desc.js b/test/language/expressions/object/method-definition/generator-property-desc.js index ae4b4310f9..c60ce13f4f 100644 --- a/test/language/expressions/object/method-definition/generator-property-desc.js +++ b/test/language/expressions/object/method-definition/generator-property-desc.js @@ -12,6 +12,8 @@ features: [generators] var obj = { *method() {} }; -verifyEnumerable(obj, 'method'); -verifyWritable(obj, 'method'); -verifyConfigurable(obj, 'method'); +verifyProperty(obj, "method", { + writable: true, + enumerable: true, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/generator-prototype-prop.js b/test/language/expressions/object/method-definition/generator-prototype-prop.js index 4eb0c0e437..c9d5d481eb 100644 --- a/test/language/expressions/object/method-definition/generator-prototype-prop.js +++ b/test/language/expressions/object/method-definition/generator-prototype-prop.js @@ -12,11 +12,13 @@ features: [generators] var GeneratorPrototype = Object.getPrototypeOf(function* () {}).prototype; var method = { *method() {} }.method; -verifyNotEnumerable(method, 'prototype'); -verifyWritable(method, 'prototype'); -verifyNotConfigurable(method, 'prototype'); - assert.sameValue( Object.getPrototypeOf(method.prototype), GeneratorPrototype ); + +verifyProperty(method, "prototype", { + writable: true, + enumerable: false, + configurable: false, +}); diff --git a/test/language/expressions/object/method-definition/name-length-dflt.js b/test/language/expressions/object/method-definition/name-length-dflt.js index 91db6172ad..a5f95d9010 100644 --- a/test/language/expressions/object/method-definition/name-length-dflt.js +++ b/test/language/expressions/object/method-definition/name-length-dflt.js @@ -33,28 +33,36 @@ includes: [propertyHelper.js] var f1 = { m(x = 42) {} }.m; -assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); -verifyNotEnumerable(f1, 'length'); -verifyNotWritable(f1, 'length'); -verifyConfigurable(f1, 'length'); +verifyProperty(f1, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f2 = { m(x = 42, y) {} }.m; -assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); -verifyNotEnumerable(f2, 'length'); -verifyNotWritable(f2, 'length'); -verifyConfigurable(f2, 'length'); +verifyProperty(f2, "length", { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); var f3 = { m(x, y = 42) {} }.m; -assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); -verifyNotEnumerable(f3, 'length'); -verifyNotWritable(f3, 'length'); -verifyConfigurable(f3, 'length'); +verifyProperty(f3, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); var f4 = { m(x, y = 42, z) {} }.m; -assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); -verifyNotEnumerable(f4, 'length'); -verifyNotWritable(f4, 'length'); -verifyConfigurable(f4, 'length'); +verifyProperty(f4, "length", { + value: 1, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/name-length.js b/test/language/expressions/object/method-definition/name-length.js index dc0178eb6f..7146b6f06e 100644 --- a/test/language/expressions/object/method-definition/name-length.js +++ b/test/language/expressions/object/method-definition/name-length.js @@ -11,7 +11,9 @@ includes: [propertyHelper.js] var method = { method(a, b, c) {} }.method; -assert.sameValue(method.length, 3); -verifyNotEnumerable(method, 'length'); -verifyNotWritable(method, 'length'); -verifyConfigurable(method, 'length'); +verifyProperty(method, "length", { + value: 3, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/name-name-prop-string.js b/test/language/expressions/object/method-definition/name-name-prop-string.js index 6a56c27d8c..21e2cfda7e 100644 --- a/test/language/expressions/object/method-definition/name-name-prop-string.js +++ b/test/language/expressions/object/method-definition/name-name-prop-string.js @@ -11,7 +11,9 @@ includes: [propertyHelper.js] var method = { method() {} }.method; -assert.sameValue(method.name, 'method'); -verifyNotEnumerable(method, 'name'); -verifyNotWritable(method, 'name'); -verifyConfigurable(method, 'name'); +verifyProperty(method, 'name', { + value: 'method', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/name-name-prop-symbol.js b/test/language/expressions/object/method-definition/name-name-prop-symbol.js index 1f60607b0e..3c6d2992b7 100644 --- a/test/language/expressions/object/method-definition/name-name-prop-symbol.js +++ b/test/language/expressions/object/method-definition/name-name-prop-symbol.js @@ -13,7 +13,9 @@ features: [Symbol] var m = Symbol('method'); var method = { [m]() {} }[m]; -assert.sameValue(method.name, '[method]'); -verifyNotEnumerable(method, 'name'); -verifyNotWritable(method, 'name'); -verifyConfigurable(method, 'name'); +verifyProperty(method, 'name', { + value: '[method]', + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/method-definition/name-property-desc.js b/test/language/expressions/object/method-definition/name-property-desc.js index d69301b4e2..edda277d68 100644 --- a/test/language/expressions/object/method-definition/name-property-desc.js +++ b/test/language/expressions/object/method-definition/name-property-desc.js @@ -11,6 +11,8 @@ includes: [propertyHelper.js] var obj = { method() {} }; -verifyEnumerable(obj, 'method'); -verifyWritable(obj, 'method'); -verifyConfigurable(obj, 'method'); +verifyProperty(obj, "method", { + writable: true, + enumerable: true, + configurable: true, +}); diff --git a/test/language/expressions/object/prop-def-id-valid.js b/test/language/expressions/object/prop-def-id-valid.js index 5a97673efc..8f6d862616 100644 --- a/test/language/expressions/object/prop-def-id-valid.js +++ b/test/language/expressions/object/prop-def-id-valid.js @@ -15,7 +15,9 @@ var obj; obj = { attr }; -assert.sameValue(obj.attr, 23); -verifyEnumerable(obj, 'attr'); -verifyWritable(obj, 'attr'); -verifyConfigurable(obj, 'attr'); +verifyProperty(obj, "attr", { + value: 23, + writable: true, + enumerable: true, + configurable: true, +}); diff --git a/test/language/expressions/object/setter-length-dflt.js b/test/language/expressions/object/setter-length-dflt.js index a5e44d602b..04d7313ebc 100644 --- a/test/language/expressions/object/setter-length-dflt.js +++ b/test/language/expressions/object/setter-length-dflt.js @@ -33,7 +33,9 @@ includes: [propertyHelper.js] var set = Object.getOwnPropertyDescriptor({ set m(x = 42) {} }, 'm').set; -assert.sameValue(set.length, 0, 'FormalsList: x = 42'); -verifyNotEnumerable(set, 'length'); -verifyNotWritable(set, 'length'); -verifyConfigurable(set, 'length'); +verifyProperty(set, 'length', { + value: 0, + writable: false, + enumerable: false, + configurable: true, +}); diff --git a/test/language/expressions/object/setter-prop-desc.js b/test/language/expressions/object/setter-prop-desc.js index 1be523b2dc..3bb6befc07 100644 --- a/test/language/expressions/object/setter-prop-desc.js +++ b/test/language/expressions/object/setter-prop-desc.js @@ -29,8 +29,11 @@ includes: [propertyHelper.js] var obj = { set m(x) { return x; } }; var desc = Object.getOwnPropertyDescriptor(obj, 'm'); -verifyEnumerable(obj, 'm'); -verifyConfigurable(obj, 'm'); +verifyProperty(obj, 'm', { + enumerable: true, + configurable: true, +}); + assert.sameValue(desc.value, undefined, '`value` field'); assert.sameValue(desc.get, undefined, '`get` field'); assert.sameValue(typeof desc.set, 'function', 'type of `set` field');