Use verifyProperty in language/expressions tests

This commit is contained in:
André Bargull 2023-09-11 14:15:04 +02:00 committed by Ms2ger
parent ff81dccfc3
commit 08a7b9d4b6
38 changed files with 475 additions and 313 deletions

View File

@ -33,28 +33,36 @@ includes: [propertyHelper.js]
var f1 = (x = 42) => {}; var f1 = (x = 42) => {};
assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); verifyProperty(f1, "length", {
verifyNotEnumerable(f1, 'length'); value: 0,
verifyNotWritable(f1, 'length'); writable: false,
verifyConfigurable(f1, 'length'); enumerable: false,
configurable: true,
});
var f2 = (x = 42, y) => {}; var f2 = (x = 42, y) => {};
assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); verifyProperty(f2, "length", {
verifyNotEnumerable(f2, 'length'); value: 0,
verifyNotWritable(f2, 'length'); writable: false,
verifyConfigurable(f2, 'length'); enumerable: false,
configurable: true,
});
var f3 = (x, y = 42) => {}; var f3 = (x, y = 42) => {};
assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); verifyProperty(f3, "length", {
verifyNotEnumerable(f3, 'length'); value: 1,
verifyNotWritable(f3, 'length'); writable: false,
verifyConfigurable(f3, 'length'); enumerable: false,
configurable: true,
});
var f4 = (x, y = 42, z) => {}; var f4 = (x, y = 42, z) => {};
assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); verifyProperty(f4, "length", {
verifyNotEnumerable(f4, 'length'); value: 1,
verifyNotWritable(f4, 'length'); writable: false,
verifyConfigurable(f4, 'length'); enumerable: false,
configurable: true,
});

View File

@ -25,7 +25,9 @@ var arrow;
arrow = () => {}; arrow = () => {};
assert.sameValue(arrow.name, 'arrow'); verifyProperty(arrow, 'name', {
verifyNotEnumerable(arrow, 'name'); value: 'arrow',
verifyNotWritable(arrow, 'name'); writable: false,
verifyConfigurable(arrow, 'name'); enumerable: false,
configurable: true,
});

View File

@ -31,7 +31,9 @@ xCls2 = class { static name() {} };
assert.notSameValue(xCls.name, 'xCls'); assert.notSameValue(xCls.name, 'xCls');
assert.notSameValue(xCls2.name, 'xCls2'); assert.notSameValue(xCls2.name, 'xCls2');
assert.sameValue(cls.name, 'cls'); verifyProperty(cls, 'name', {
verifyNotEnumerable(cls, 'name'); value: 'cls',
verifyNotWritable(cls, 'name'); writable: false,
verifyConfigurable(cls, 'name'); enumerable: false,
configurable: true,
});

View File

@ -29,7 +29,9 @@ cover = (function() {});
assert(xCover.name !== 'xCover'); assert(xCover.name !== 'xCover');
assert.sameValue(cover.name, 'cover'); verifyProperty(cover, 'name', {
verifyNotEnumerable(cover, 'name'); value: 'cover',
verifyNotWritable(cover, 'name'); writable: false,
verifyConfigurable(cover, 'name'); enumerable: false,
configurable: true,
});

View File

@ -28,7 +28,9 @@ fn = function() {};
assert(xFn.name !== 'xFn'); assert(xFn.name !== 'xFn');
assert.sameValue(fn.name, 'fn'); verifyProperty(fn, 'name', {
verifyNotEnumerable(fn, 'name'); value: 'fn',
verifyNotWritable(fn, 'name'); writable: false,
verifyConfigurable(fn, 'name'); enumerable: false,
configurable: true,
});

View File

@ -29,7 +29,9 @@ gen = function*() {};
assert(xGen.name !== 'xGen'); assert(xGen.name !== 'xGen');
assert.sameValue(gen.name, 'gen'); verifyProperty(gen, 'name', {
verifyNotEnumerable(gen, 'name'); value: 'gen',
verifyNotWritable(gen, 'name'); writable: false,
verifyConfigurable(gen, 'name'); enumerable: false,
configurable: true,
});

View File

@ -32,28 +32,36 @@ includes: [propertyHelper.js]
var m1 = class { *m(x = 42) {} }.prototype.m; var m1 = class { *m(x = 42) {} }.prototype.m;
assert.sameValue(m1.length, 0, 'formalslist: x = 42'); verifyProperty(m1, "length", {
verifyNotEnumerable(m1, 'length'); value: 0,
verifyNotWritable(m1, 'length'); writable: false,
verifyConfigurable(m1, 'length'); enumerable: false,
configurable: true,
});
var m2 = class { *m(x = 42, y) {} }.prototype.m; var m2 = class { *m(x = 42, y) {} }.prototype.m;
assert.sameValue(m2.length, 0, 'formalslist: x = 42, y'); verifyProperty(m2, "length", {
verifyNotEnumerable(m2, 'length'); value: 0,
verifyNotWritable(m2, 'length'); writable: false,
verifyConfigurable(m2, 'length'); enumerable: false,
configurable: true,
});
var m3 = class { *m(x, y = 42) {} }.prototype.m; var m3 = class { *m(x, y = 42) {} }.prototype.m;
assert.sameValue(m3.length, 1, 'formalslist: x, y = 42'); verifyProperty(m3, "length", {
verifyNotEnumerable(m3, 'length'); value: 1,
verifyNotWritable(m3, 'length'); writable: false,
verifyConfigurable(m3, 'length'); enumerable: false,
configurable: true,
});
var m4 = class { *m(x, y = 42, z) {} }.prototype.m; var m4 = class { *m(x, y = 42, z) {} }.prototype.m;
assert.sameValue(m4.length, 1, 'formalslist: x, y = 42, z'); verifyProperty(m4, "length", {
verifyNotEnumerable(m4, 'length'); value: 1,
verifyNotWritable(m4, 'length'); writable: false,
verifyConfigurable(m4, 'length'); enumerable: false,
configurable: true,
});

View File

@ -32,28 +32,36 @@ includes: [propertyHelper.js]
var m1 = class { m(x = 42) {} }.prototype.m; var m1 = class { m(x = 42) {} }.prototype.m;
assert.sameValue(m1.length, 0, 'formalslist: x = 42'); verifyProperty(m1, "length", {
verifyNotEnumerable(m1, 'length'); value: 0,
verifyNotWritable(m1, 'length'); writable: false,
verifyConfigurable(m1, 'length'); enumerable: false,
configurable: true,
});
var m2 = class { m(x = 42, y) {} }.prototype.m; var m2 = class { m(x = 42, y) {} }.prototype.m;
assert.sameValue(m2.length, 0, 'formalslist: x = 42, y'); verifyProperty(m2, "length", {
verifyNotEnumerable(m2, 'length'); value: 0,
verifyNotWritable(m2, 'length'); writable: false,
verifyConfigurable(m2, 'length'); enumerable: false,
configurable: true,
});
var m3 = class { m(x, y = 42) {} }.prototype.m; var m3 = class { m(x, y = 42) {} }.prototype.m;
assert.sameValue(m3.length, 1, 'formalslist: x, y = 42'); verifyProperty(m3, "length", {
verifyNotEnumerable(m3, 'length'); value: 1,
verifyNotWritable(m3, 'length'); writable: false,
verifyConfigurable(m3, 'length'); enumerable: false,
configurable: true,
});
var m4 = class { m(x, y = 42, z) {} }.prototype.m; var m4 = class { m(x, y = 42, z) {} }.prototype.m;
assert.sameValue(m4.length, 1, 'formalslist: x, y = 42, z'); verifyProperty(m4, "length", {
verifyNotEnumerable(m4, 'length'); value: 1,
verifyNotWritable(m4, 'length'); writable: false,
verifyConfigurable(m4, 'length'); enumerable: false,
configurable: true,
});

View File

@ -33,7 +33,9 @@ includes: [propertyHelper.js]
var C = class { set m(x = 42) {} }; var C = class { set m(x = 42) {} };
var set = Object.getOwnPropertyDescriptor(C.prototype, 'm').set; var set = Object.getOwnPropertyDescriptor(C.prototype, 'm').set;
assert.sameValue(set.length, 0, 'FormalsList: x = 42'); verifyProperty(set, 'length', {
verifyNotEnumerable(set, 'length'); value: 0,
verifyNotWritable(set, 'length'); writable: false,
verifyConfigurable(set, 'length'); enumerable: false,
configurable: true,
});

View File

@ -32,28 +32,36 @@ includes: [propertyHelper.js]
var m1 = class { static m(x = 42) {} }.m; var m1 = class { static m(x = 42) {} }.m;
assert.sameValue(m1.length, 0, 'formalslist: x = 42'); verifyProperty(m1, "length", {
verifyNotEnumerable(m1, 'length'); value: 0,
verifyNotWritable(m1, 'length'); writable: false,
verifyConfigurable(m1, 'length'); enumerable: false,
configurable: true,
});
var m2 = class { static m(x = 42, y) {} }.m; var m2 = class { static m(x = 42, y) {} }.m;
assert.sameValue(m2.length, 0, 'formalslist: x = 42, y'); verifyProperty(m2, "length", {
verifyNotEnumerable(m2, 'length'); value: 0,
verifyNotWritable(m2, 'length'); writable: false,
verifyConfigurable(m2, 'length'); enumerable: false,
configurable: true,
});
var m3 = class { static m(x, y = 42) {} }.m; var m3 = class { static m(x, y = 42) {} }.m;
assert.sameValue(m3.length, 1, 'formalslist: x, y = 42'); verifyProperty(m3, "length", {
verifyNotEnumerable(m3, 'length'); value: 1,
verifyNotWritable(m3, 'length'); writable: false,
verifyConfigurable(m3, 'length'); enumerable: false,
configurable: true,
});
var m4 = class { static m(x, y = 42, z) {} }.m; var m4 = class { static m(x, y = 42, z) {} }.m;
assert.sameValue(m4.length, 1, 'formalslist: x, y = 42, z'); verifyProperty(m4, "length", {
verifyNotEnumerable(m4, 'length'); value: 1,
verifyNotWritable(m4, 'length'); writable: false,
verifyConfigurable(m4, 'length'); enumerable: false,
configurable: true,
});

View File

@ -33,28 +33,36 @@ includes: [propertyHelper.js]
var f1 = function (x = 42) {}; var f1 = function (x = 42) {};
assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); verifyProperty(f1, "length", {
verifyNotEnumerable(f1, 'length'); value: 0,
verifyNotWritable(f1, 'length'); writable: false,
verifyConfigurable(f1, 'length'); enumerable: false,
configurable: true,
});
var f2 = function (x = 42, y) {}; var f2 = function (x = 42, y) {};
assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); verifyProperty(f2, "length", {
verifyNotEnumerable(f2, 'length'); value: 0,
verifyNotWritable(f2, 'length'); writable: false,
verifyConfigurable(f2, 'length'); enumerable: false,
configurable: true,
});
var f3 = function (x, y = 42) {}; var f3 = function (x, y = 42) {};
assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); verifyProperty(f3, "length", {
verifyNotEnumerable(f3, 'length'); value: 1,
verifyNotWritable(f3, 'length'); writable: false,
verifyConfigurable(f3, 'length'); enumerable: false,
configurable: true,
});
var f4 = function (x, y = 42, z) {}; var f4 = function (x, y = 42, z) {};
assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); verifyProperty(f4, "length", {
verifyNotEnumerable(f4, 'length'); value: 1,
verifyNotWritable(f4, 'length'); writable: false,
verifyConfigurable(f4, 'length'); enumerable: false,
configurable: true,
});

View File

@ -33,28 +33,36 @@ includes: [propertyHelper.js]
var f1 = function* (x = 42) {}; var f1 = function* (x = 42) {};
assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); verifyProperty(f1, "length", {
verifyNotEnumerable(f1, 'length'); value: 0,
verifyNotWritable(f1, 'length'); writable: false,
verifyConfigurable(f1, 'length'); enumerable: false,
configurable: true,
});
var f2 = function* (x = 42, y) {}; var f2 = function* (x = 42, y) {};
assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); verifyProperty(f2, "length", {
verifyNotEnumerable(f2, 'length'); value: 0,
verifyNotWritable(f2, 'length'); writable: false,
verifyConfigurable(f2, 'length'); enumerable: false,
configurable: true,
});
var f3 = function* (x, y = 42) {}; var f3 = function* (x, y = 42) {};
assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); verifyProperty(f3, "length", {
verifyNotEnumerable(f3, 'length'); value: 1,
verifyNotWritable(f3, 'length'); writable: false,
verifyConfigurable(f3, 'length'); enumerable: false,
configurable: true,
});
var f4 = function* (x, y = 42, z) {}; var f4 = function* (x, y = 42, z) {};
assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); verifyProperty(f4, "length", {
verifyNotEnumerable(f4, 'length'); value: 1,
verifyNotWritable(f4, 'length'); writable: false,
verifyConfigurable(f4, 'length'); enumerable: false,
configurable: true,
});

View File

@ -11,7 +11,9 @@ features: [generators]
var g = function*() {}; var g = function*() {};
assert.sameValue(g.length, 0); verifyProperty(g, "length", {
verifyNotEnumerable(g, 'length'); value: 0,
verifyNotWritable(g, 'length'); writable: false,
verifyConfigurable(g, 'length'); enumerable: false,
configurable: true,
});

View File

@ -11,6 +11,8 @@ features: [generators]
var g = function*() {}; var g = function*() {};
verifyNotEnumerable(g, 'prototype'); verifyProperty(g, "prototype", {
verifyWritable(g, 'prototype'); writable: true,
verifyNotConfigurable(g, 'prototype'); enumerable: false,
configurable: false,
});

View File

@ -24,19 +24,25 @@ o = {
}; };
getter = Object.getOwnPropertyDescriptor(o, 'id').get; getter = Object.getOwnPropertyDescriptor(o, 'id').get;
assert.sameValue(getter.name, 'get id'); verifyProperty(getter, 'name', {
verifyNotEnumerable(getter, 'name'); value: 'get id',
verifyNotWritable(getter, 'name'); writable: false,
verifyConfigurable(getter, 'name'); enumerable: false,
configurable: true,
});
getter = Object.getOwnPropertyDescriptor(o, anonSym).get; getter = Object.getOwnPropertyDescriptor(o, anonSym).get;
assert.sameValue(getter.name, 'get '); verifyProperty(getter, 'name', {
verifyNotEnumerable(getter, 'name'); value: 'get ',
verifyNotWritable(getter, 'name'); writable: false,
verifyConfigurable(getter, 'name'); enumerable: false,
configurable: true,
});
getter = Object.getOwnPropertyDescriptor(o, namedSym).get; getter = Object.getOwnPropertyDescriptor(o, namedSym).get;
assert.sameValue(getter.name, 'get [test262]'); verifyProperty(getter, 'name', {
verifyNotEnumerable(getter, 'name'); value: 'get [test262]',
verifyNotWritable(getter, 'name'); writable: false,
verifyConfigurable(getter, 'name'); enumerable: false,
configurable: true,
});

View File

@ -25,19 +25,25 @@ o = {
}; };
setter = Object.getOwnPropertyDescriptor(o, 'id').set; setter = Object.getOwnPropertyDescriptor(o, 'id').set;
assert.sameValue(setter.name, 'set id'); verifyProperty(setter, 'name', {
verifyNotEnumerable(setter, 'name'); value: 'set id',
verifyNotWritable(setter, 'name'); writable: false,
verifyConfigurable(setter, 'name'); enumerable: false,
configurable: true,
});
setter = Object.getOwnPropertyDescriptor(o, anonSym).set; setter = Object.getOwnPropertyDescriptor(o, anonSym).set;
assert.sameValue(setter.name, 'set '); verifyProperty(setter, 'name', {
verifyNotEnumerable(setter, 'name'); value: 'set ',
verifyNotWritable(setter, 'name'); writable: false,
verifyConfigurable(setter, 'name'); enumerable: false,
configurable: true,
});
setter = Object.getOwnPropertyDescriptor(o, namedSym).set; setter = Object.getOwnPropertyDescriptor(o, namedSym).set;
assert.sameValue(setter.name, 'set [test262]'); verifyProperty(setter, 'name', {
verifyNotEnumerable(setter, 'name'); value: 'set [test262]',
verifyNotWritable(setter, 'name'); writable: false,
verifyConfigurable(setter, 'name'); enumerable: false,
configurable: true,
});

View File

@ -24,17 +24,23 @@ o = {
[namedSym]: () => {} [namedSym]: () => {}
}; };
assert.sameValue(o.id.name, 'id', 'via IdentifierName'); verifyProperty(o.id, 'name', {
verifyNotEnumerable(o.id, 'name'); value: 'id',
verifyNotWritable(o.id, 'name'); writable: false,
verifyConfigurable(o.id, 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); verifyProperty(o[anonSym], 'name', {
verifyNotEnumerable(o[anonSym], 'name'); value: '',
verifyNotWritable(o[anonSym], 'name'); writable: false,
verifyConfigurable(o[anonSym], 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); verifyProperty(o[namedSym], 'name', {
verifyNotEnumerable(o[namedSym], 'name'); value: '[test262]',
verifyNotWritable(o[namedSym], 'name'); writable: false,
verifyConfigurable(o[namedSym], 'name'); enumerable: false,
configurable: true,
});

View File

@ -27,17 +27,23 @@ o = {
assert(o.xId.name !== 'xId'); assert(o.xId.name !== 'xId');
assert.sameValue(o.id.name, 'id', 'via IdentifierName'); verifyProperty(o.id, 'name', {
verifyNotEnumerable(o.id, 'name'); value: 'id',
verifyNotWritable(o.id, 'name'); writable: false,
verifyConfigurable(o.id, 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); verifyProperty(o[anonSym], 'name', {
verifyNotEnumerable(o[anonSym], 'name'); value: '',
verifyNotWritable(o[anonSym], 'name'); writable: false,
verifyConfigurable(o[anonSym], 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); verifyProperty(o[namedSym], 'name', {
verifyNotEnumerable(o[namedSym], 'name'); value: '[test262]',
verifyNotWritable(o[namedSym], 'name'); writable: false,
verifyConfigurable(o[namedSym], 'name'); enumerable: false,
configurable: true,
});

View File

@ -28,17 +28,23 @@ o = {
assert(o.xId.name !== 'xId'); assert(o.xId.name !== 'xId');
assert.sameValue(o.id.name, 'id', 'via IdentifierName'); verifyProperty(o.id, 'name', {
verifyNotEnumerable(o.id, 'name'); value: 'id',
verifyNotWritable(o.id, 'name'); writable: false,
verifyConfigurable(o.id, 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); verifyProperty(o[anonSym], 'name', {
verifyNotEnumerable(o[anonSym], 'name'); value: '',
verifyNotWritable(o[anonSym], 'name'); writable: false,
verifyConfigurable(o[anonSym], 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); verifyProperty(o[namedSym], 'name', {
verifyNotEnumerable(o[namedSym], 'name'); value: '[test262]',
verifyNotWritable(o[namedSym], 'name'); writable: false,
verifyConfigurable(o[namedSym], 'name'); enumerable: false,
configurable: true,
});

View File

@ -27,17 +27,23 @@ o = {
assert(o.xId.name !== 'xId'); assert(o.xId.name !== 'xId');
assert.sameValue(o.id.name, 'id', 'via IdentifierName'); verifyProperty(o.id, 'name', {
verifyNotEnumerable(o.id, 'name'); value: 'id',
verifyNotWritable(o.id, 'name'); writable: false,
verifyConfigurable(o.id, 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); verifyProperty(o[anonSym], 'name', {
verifyNotEnumerable(o[anonSym], 'name'); value: '',
verifyNotWritable(o[anonSym], 'name'); writable: false,
verifyConfigurable(o[anonSym], 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); verifyProperty(o[namedSym], 'name', {
verifyNotEnumerable(o[namedSym], 'name'); value: '[test262]',
verifyNotWritable(o[namedSym], 'name'); writable: false,
verifyConfigurable(o[namedSym], 'name'); enumerable: false,
configurable: true,
});

View File

@ -28,17 +28,23 @@ o = {
assert(o.xId.name !== 'xId'); assert(o.xId.name !== 'xId');
assert.sameValue(o.id.name, 'id', 'via IdentifierName'); verifyProperty(o.id, 'name', {
verifyNotEnumerable(o.id, 'name'); value: 'id',
verifyNotWritable(o.id, 'name'); writable: false,
verifyConfigurable(o.id, 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); verifyProperty(o[anonSym], 'name', {
verifyNotEnumerable(o[anonSym], 'name'); value: '',
verifyNotWritable(o[anonSym], 'name'); writable: false,
verifyConfigurable(o[anonSym], 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); verifyProperty(o[namedSym], 'name', {
verifyNotEnumerable(o[namedSym], 'name'); value: '[test262]',
verifyNotWritable(o[namedSym], 'name'); writable: false,
verifyConfigurable(o[namedSym], 'name'); enumerable: false,
configurable: true,
});

View File

@ -29,8 +29,11 @@ includes: [propertyHelper.js]
var obj = { get m() { return 1234; } }; var obj = { get m() { return 1234; } };
var desc = Object.getOwnPropertyDescriptor(obj, 'm'); var desc = Object.getOwnPropertyDescriptor(obj, 'm');
verifyEnumerable(obj, 'm'); verifyProperty(obj, 'm', {
verifyConfigurable(obj, 'm'); enumerable: true,
configurable: true,
});
assert.sameValue(desc.value, undefined, '`value` field'); assert.sameValue(desc.value, undefined, '`value` field');
assert.sameValue(desc.set, undefined, '`set` field'); assert.sameValue(desc.set, undefined, '`set` field');
assert.sameValue(typeof desc.get, 'function', 'type of `get` field'); assert.sameValue(typeof desc.get, 'function', 'type of `get` field');

View File

@ -24,17 +24,23 @@ o = {
[namedSym]() {} [namedSym]() {}
}; };
assert.sameValue(o.id.name, 'id', 'via IdentifierName'); verifyProperty(o.id, 'name', {
verifyNotEnumerable(o.id, 'name'); value: 'id',
verifyNotWritable(o.id, 'name'); writable: false,
verifyConfigurable(o.id, 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); verifyProperty(o[anonSym], 'name', {
verifyNotEnumerable(o[anonSym], 'name'); value: '',
verifyNotWritable(o[anonSym], 'name'); writable: false,
verifyConfigurable(o[anonSym], 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); verifyProperty(o[namedSym], 'name', {
verifyNotEnumerable(o[namedSym], 'name'); value: '[test262]',
verifyNotWritable(o[namedSym], 'name'); writable: false,
verifyConfigurable(o[namedSym], 'name'); enumerable: false,
configurable: true,
});

View File

@ -25,17 +25,23 @@ o = {
*[namedSym]() {} *[namedSym]() {}
}; };
assert.sameValue(o.id.name, 'id', 'via IdentifierName'); verifyProperty(o.id, 'name', {
verifyNotEnumerable(o.id, 'name'); value: 'id',
verifyNotWritable(o.id, 'name'); writable: false,
verifyConfigurable(o.id, 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[anonSym].name, '', 'via anonymous Symbol'); verifyProperty(o[anonSym], 'name', {
verifyNotEnumerable(o[anonSym], 'name'); value: '',
verifyNotWritable(o[anonSym], 'name'); writable: false,
verifyConfigurable(o[anonSym], 'name'); enumerable: false,
configurable: true,
});
assert.sameValue(o[namedSym].name, '[test262]', 'via Symbol'); verifyProperty(o[namedSym], 'name', {
verifyNotEnumerable(o[namedSym], 'name'); value: '[test262]',
verifyNotWritable(o[namedSym], 'name'); writable: false,
verifyConfigurable(o[namedSym], 'name'); enumerable: false,
configurable: true,
});

View File

@ -33,28 +33,36 @@ includes: [propertyHelper.js]
var f1 = { *m(x = 42) {} }.m; var f1 = { *m(x = 42) {} }.m;
assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); verifyProperty(f1, "length", {
verifyNotEnumerable(f1, 'length'); value: 0,
verifyNotWritable(f1, 'length'); writable: false,
verifyConfigurable(f1, 'length'); enumerable: false,
configurable: true,
});
var f2 = { *m(x = 42, y) {} }.m; var f2 = { *m(x = 42, y) {} }.m;
assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); verifyProperty(f2, "length", {
verifyNotEnumerable(f2, 'length'); value: 0,
verifyNotWritable(f2, 'length'); writable: false,
verifyConfigurable(f2, 'length'); enumerable: false,
configurable: true,
});
var f3 = { *m(x, y = 42) {} }.m; var f3 = { *m(x, y = 42) {} }.m;
assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); verifyProperty(f3, "length", {
verifyNotEnumerable(f3, 'length'); value: 1,
verifyNotWritable(f3, 'length'); writable: false,
verifyConfigurable(f3, 'length'); enumerable: false,
configurable: true,
});
var f4 = { *m(x, y = 42, z) {} }.m; var f4 = { *m(x, y = 42, z) {} }.m;
assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); verifyProperty(f4, "length", {
verifyNotEnumerable(f4, 'length'); value: 1,
verifyNotWritable(f4, 'length'); writable: false,
verifyConfigurable(f4, 'length') enumerable: false,
configurable: true,
});

View File

@ -12,7 +12,9 @@ features: [generators]
var method = { *method(a, b, c) {} }.method; var method = { *method(a, b, c) {} }.method;
assert.sameValue(method.length, 3); verifyProperty(method, "length", {
verifyNotEnumerable(method, 'length'); value: 3,
verifyNotWritable(method, 'length'); writable: false,
verifyConfigurable(method, 'length'); enumerable: false,
configurable: true,
});

View File

@ -12,7 +12,9 @@ features: [generators]
var method = { *method() {} }.method; var method = { *method() {} }.method;
assert.sameValue(method.name, 'method'); verifyProperty(method, 'name', {
verifyNotEnumerable(method, 'name'); value: 'method',
verifyNotWritable(method, 'name'); writable: false,
verifyConfigurable(method, 'name'); enumerable: false,
configurable: true,
});

View File

@ -13,7 +13,9 @@ features: [Symbol, generators]
var m = Symbol('method'); var m = Symbol('method');
var method = { *[m]() {} }[m]; var method = { *[m]() {} }[m];
assert.sameValue(method.name, '[method]'); verifyProperty(method, 'name', {
verifyNotEnumerable(method, 'name'); value: '[method]',
verifyNotWritable(method, 'name'); writable: false,
verifyConfigurable(method, 'name'); enumerable: false,
configurable: true,
});

View File

@ -12,6 +12,8 @@ features: [generators]
var obj = { *method() {} }; var obj = { *method() {} };
verifyEnumerable(obj, 'method'); verifyProperty(obj, "method", {
verifyWritable(obj, 'method'); writable: true,
verifyConfigurable(obj, 'method'); enumerable: true,
configurable: true,
});

View File

@ -12,11 +12,13 @@ features: [generators]
var GeneratorPrototype = Object.getPrototypeOf(function* () {}).prototype; var GeneratorPrototype = Object.getPrototypeOf(function* () {}).prototype;
var method = { *method() {} }.method; var method = { *method() {} }.method;
verifyNotEnumerable(method, 'prototype');
verifyWritable(method, 'prototype');
verifyNotConfigurable(method, 'prototype');
assert.sameValue( assert.sameValue(
Object.getPrototypeOf(method.prototype), Object.getPrototypeOf(method.prototype),
GeneratorPrototype GeneratorPrototype
); );
verifyProperty(method, "prototype", {
writable: true,
enumerable: false,
configurable: false,
});

View File

@ -33,28 +33,36 @@ includes: [propertyHelper.js]
var f1 = { m(x = 42) {} }.m; var f1 = { m(x = 42) {} }.m;
assert.sameValue(f1.length, 0, 'FormalsList: x = 42'); verifyProperty(f1, "length", {
verifyNotEnumerable(f1, 'length'); value: 0,
verifyNotWritable(f1, 'length'); writable: false,
verifyConfigurable(f1, 'length'); enumerable: false,
configurable: true,
});
var f2 = { m(x = 42, y) {} }.m; var f2 = { m(x = 42, y) {} }.m;
assert.sameValue(f2.length, 0, 'FormalsList: x = 42, y'); verifyProperty(f2, "length", {
verifyNotEnumerable(f2, 'length'); value: 0,
verifyNotWritable(f2, 'length'); writable: false,
verifyConfigurable(f2, 'length'); enumerable: false,
configurable: true,
});
var f3 = { m(x, y = 42) {} }.m; var f3 = { m(x, y = 42) {} }.m;
assert.sameValue(f3.length, 1, 'FormalsList: x, y = 42'); verifyProperty(f3, "length", {
verifyNotEnumerable(f3, 'length'); value: 1,
verifyNotWritable(f3, 'length'); writable: false,
verifyConfigurable(f3, 'length'); enumerable: false,
configurable: true,
});
var f4 = { m(x, y = 42, z) {} }.m; var f4 = { m(x, y = 42, z) {} }.m;
assert.sameValue(f4.length, 1, 'FormalsList: x, y = 42, z'); verifyProperty(f4, "length", {
verifyNotEnumerable(f4, 'length'); value: 1,
verifyNotWritable(f4, 'length'); writable: false,
verifyConfigurable(f4, 'length'); enumerable: false,
configurable: true,
});

View File

@ -11,7 +11,9 @@ includes: [propertyHelper.js]
var method = { method(a, b, c) {} }.method; var method = { method(a, b, c) {} }.method;
assert.sameValue(method.length, 3); verifyProperty(method, "length", {
verifyNotEnumerable(method, 'length'); value: 3,
verifyNotWritable(method, 'length'); writable: false,
verifyConfigurable(method, 'length'); enumerable: false,
configurable: true,
});

View File

@ -11,7 +11,9 @@ includes: [propertyHelper.js]
var method = { method() {} }.method; var method = { method() {} }.method;
assert.sameValue(method.name, 'method'); verifyProperty(method, 'name', {
verifyNotEnumerable(method, 'name'); value: 'method',
verifyNotWritable(method, 'name'); writable: false,
verifyConfigurable(method, 'name'); enumerable: false,
configurable: true,
});

View File

@ -13,7 +13,9 @@ features: [Symbol]
var m = Symbol('method'); var m = Symbol('method');
var method = { [m]() {} }[m]; var method = { [m]() {} }[m];
assert.sameValue(method.name, '[method]'); verifyProperty(method, 'name', {
verifyNotEnumerable(method, 'name'); value: '[method]',
verifyNotWritable(method, 'name'); writable: false,
verifyConfigurable(method, 'name'); enumerable: false,
configurable: true,
});

View File

@ -11,6 +11,8 @@ includes: [propertyHelper.js]
var obj = { method() {} }; var obj = { method() {} };
verifyEnumerable(obj, 'method'); verifyProperty(obj, "method", {
verifyWritable(obj, 'method'); writable: true,
verifyConfigurable(obj, 'method'); enumerable: true,
configurable: true,
});

View File

@ -15,7 +15,9 @@ var obj;
obj = { attr }; obj = { attr };
assert.sameValue(obj.attr, 23); verifyProperty(obj, "attr", {
verifyEnumerable(obj, 'attr'); value: 23,
verifyWritable(obj, 'attr'); writable: true,
verifyConfigurable(obj, 'attr'); enumerable: true,
configurable: true,
});

View File

@ -33,7 +33,9 @@ includes: [propertyHelper.js]
var set = Object.getOwnPropertyDescriptor({ set m(x = 42) {} }, 'm').set; var set = Object.getOwnPropertyDescriptor({ set m(x = 42) {} }, 'm').set;
assert.sameValue(set.length, 0, 'FormalsList: x = 42'); verifyProperty(set, 'length', {
verifyNotEnumerable(set, 'length'); value: 0,
verifyNotWritable(set, 'length'); writable: false,
verifyConfigurable(set, 'length'); enumerable: false,
configurable: true,
});

View File

@ -29,8 +29,11 @@ includes: [propertyHelper.js]
var obj = { set m(x) { return x; } }; var obj = { set m(x) { return x; } };
var desc = Object.getOwnPropertyDescriptor(obj, 'm'); var desc = Object.getOwnPropertyDescriptor(obj, 'm');
verifyEnumerable(obj, 'm'); verifyProperty(obj, 'm', {
verifyConfigurable(obj, 'm'); enumerable: true,
configurable: true,
});
assert.sameValue(desc.value, undefined, '`value` field'); assert.sameValue(desc.value, undefined, '`value` field');
assert.sameValue(desc.get, undefined, '`get` field'); assert.sameValue(desc.get, undefined, '`get` field');
assert.sameValue(typeof desc.set, 'function', 'type of `set` field'); assert.sameValue(typeof desc.set, 'function', 'type of `set` field');