Update built-ins/Object/defineProperties to use verifyProperty

This commit is contained in:
André Bargull 2023-09-28 15:15:40 +02:00 committed by Philip Chimento
parent 3499832c3c
commit e3ba8cea11
265 changed files with 1409 additions and 1453 deletions

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,4 +17,6 @@ Object.defineProperties(obj, {
}
});
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -24,5 +24,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -27,5 +27,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -35,5 +35,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -23,5 +23,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -31,5 +31,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -35,5 +35,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -21,5 +21,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -33,5 +33,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -27,5 +27,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -22,5 +22,6 @@ Object.defineProperties(obj, {
property: func
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
property: arr
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
property: str
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -19,5 +19,6 @@ Object.defineProperties(obj, {
property: Math
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -18,5 +18,6 @@ Object.defineProperties(obj, {
property: JSON
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
property: descObj
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -19,8 +19,9 @@ var func = function(a, b) {
property: arguments
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});
};
func();

View File

@ -19,5 +19,6 @@ Object.defineProperties(obj, {
property: this
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotWritable(obj, "property");
verifyProperty(obj, "property", {
writable: false,
});

View File

@ -16,5 +16,6 @@ Object.defineProperties(obj, {
prop: {}
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -28,5 +28,6 @@ Object.defineProperties(obj, {
prop: descObj
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -31,5 +31,6 @@ Object.defineProperties(obj, {
prop: descObj
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -30,5 +30,6 @@ Object.defineProperties(obj, {
prop: descObj
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -33,6 +33,6 @@ Object.defineProperties(obj, {
prop: descObj
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
assert(obj.hasOwnProperty("prop"));
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -20,5 +20,6 @@ Object.defineProperties(obj, {
prop: descObj
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -31,5 +31,6 @@ Object.defineProperties(obj, {
prop: descObj
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -25,5 +25,6 @@ Object.defineProperties(obj, {
prop: descObj
});
assert(obj.hasOwnProperty("prop"));
verifyNotConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -17,5 +17,6 @@ Object.defineProperties(obj, {
}
});
assert(obj.hasOwnProperty("property"));
verifyNotConfigurable(obj, "property");
verifyProperty(obj, "property", {
configurable: false,
});

View File

@ -25,10 +25,10 @@ Object.defineProperties(obj, {
configurable: false
}
});
verifyEqualTo(obj, "foo", 200);
verifyNotWritable(obj, "foo");
verifyNotEnumerable(obj, "foo");
verifyNotConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
value: 200,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -41,6 +41,7 @@ verifyEqualTo(obj, "foo", get_func2());
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyEnumerable(obj, "foo");
verifyConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: true,
configurable: true,
});

View File

@ -34,6 +34,7 @@ Object.defineProperties(obj, {
});
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyEnumerable(obj, "foo");
verifyConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: true,
configurable: true,
});

View File

@ -36,6 +36,7 @@ verifyEqualTo(obj, "foo", get_func());
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyEnumerable(obj, "foo");
verifyConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: true,
configurable: true,
});

View File

@ -41,6 +41,7 @@ verifyEqualTo(obj, "foo", get_func());
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyEnumerable(obj, "foo");
verifyConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: true,
configurable: true,
});

View File

@ -6,6 +6,7 @@ es5id: 15.2.3.7-6-a-105
description: >
Object.defineProperties - 'P' is accessor property, P.[[Set]] is
present and properties.[[Set]] is undefined (8.12.9 step 12)
includes: [propertyHelper.js]
---*/
var obj = {};
@ -31,7 +32,6 @@ Object.defineProperties(obj, {
}
});
var hasProperty = obj.hasOwnProperty("property");
var verifyGet = false;
verifyGet = (obj.property === 10);
@ -39,19 +39,11 @@ var verifySet = false;
var desc = Object.getOwnPropertyDescriptor(obj, "property");
verifySet = (typeof desc.set === 'undefined');
var verifyEnumerable = false;
for (var p in obj) {
if (p === "property") {
verifyEnumerable = true;
}
}
verifyProperty(obj, "property", {
enumerable: true,
configurable: true,
});
var verifyConfigurable = false;
delete obj.property;
verifyConfigurable = obj.hasOwnProperty("property");
assert(hasProperty, 'hasProperty !== true');
assert(verifyGet, 'verifyGet !== true');
assert(verifySet, 'verifySet !== true');
assert(verifyEnumerable, 'verifyEnumerable !== true');
assert.sameValue(verifyConfigurable, false, 'verifyConfigurable');

View File

@ -36,6 +36,7 @@ verifyEqualTo(obj, "foo", get_func());
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyEnumerable(obj, "foo");
verifyConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: true,
configurable: true,
});

View File

@ -36,6 +36,7 @@ verifyEqualTo(obj, "foo", get_func());
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyNotEnumerable(obj, "foo");
verifyConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: false,
configurable: true,
});

View File

@ -36,6 +36,7 @@ verifyEqualTo(obj, "foo", get_func());
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyEnumerable(obj, "foo");
verifyNotConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: true,
configurable: false,
});

View File

@ -44,6 +44,7 @@ verifyEqualTo(obj, "foo", get_func2());
verifyWritable(obj, "foo", "setVerifyHelpProp");
verifyNotEnumerable(obj, "foo");
verifyNotConfigurable(obj, "foo");
verifyProperty(obj, "foo", {
enumerable: false,
configurable: false,
});

View File

@ -36,17 +36,19 @@ var properties = {
};
Object.defineProperties(obj, properties);
verifyEqualTo(obj, "foo1", 200);
verifyWritable(obj, "foo1");
verifyProperty(obj, "foo1", {
value: 200,
writable: true,
enumerable: true,
configurable: true,
});
verifyEnumerable(obj, "foo1");
verifyConfigurable(obj, "foo1");
verifyEqualTo(obj, "foo2", get_func());
verifyWritable(obj, "foo2", "setVerifyHelpProp");
verifyEnumerable(obj, "foo2");
verifyConfigurable(obj, "foo2");
verifyProperty(obj, "foo2", {
enumerable: true,
configurable: true,
});

View File

@ -24,6 +24,7 @@ verifyEqualTo(arr, "length", 0);
verifyWritable(arr, "length", "length", 1);
verifyNotEnumerable(arr, "length");
verifyNotConfigurable(arr, "length");
verifyProperty(arr, "length", {
enumerable: false,
configurable: false,
});

View File

@ -26,6 +26,7 @@ verifyEqualTo(arr, "length", 2);
verifyWritable(arr, "length", "length", 5);
verifyNotEnumerable(arr, "length");
verifyNotConfigurable(arr, "length");
verifyProperty(arr, "length", {
enumerable: false,
configurable: false,
});

View File

@ -24,8 +24,9 @@ Object.defineProperties(arr, {
assert.sameValue(arr.length, 0);
arr.length = 2;
assert.sameValue(arr.length, 2);
verifyNotEnumerable(arr, "length");
verifyNotConfigurable(arr, "length");
verifyProperty(arr, "length", {
value: 2,
enumerable: false,
configurable: false,
});

View File

@ -26,16 +26,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(fun, "prop", 11);
verifyNotWritable(fun, "prop");
verifyNotEnumerable(fun, "prop");
verifyNotConfigurable(fun, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(fun, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -19,10 +19,9 @@ Object.defineProperties(arr, {
}
});
verifyEqualTo(arr, "length", 0);
verifyNotWritable(arr, "length");
verifyNotEnumerable(arr, "length");
verifyNotConfigurable(arr, "length");
verifyProperty(arr, "length", {
value: 0,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -25,16 +25,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(arr, "prop", 11);
verifyNotWritable(arr, "prop");
verifyNotEnumerable(arr, "prop");
verifyNotConfigurable(arr, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(arr, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -25,16 +25,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(str, "prop", 11);
verifyNotWritable(str, "prop");
verifyNotEnumerable(str, "prop");
verifyNotConfigurable(str, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(str, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -26,16 +26,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(obj, "prop", 11);
verifyNotWritable(obj, "prop");
verifyNotEnumerable(obj, "prop");
verifyNotConfigurable(obj, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(obj, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -26,16 +26,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(obj, "prop", 11);
verifyNotWritable(obj, "prop");
verifyNotEnumerable(obj, "prop");
verifyNotConfigurable(obj, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(obj, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -24,8 +24,10 @@ Object.defineProperties(arr, {
});
//try to overwrite length value of arr
verifyNotWritable(arr, "length")
verifyProperty(arr, "length", {
value: 1,
writable: false,
});
assert(!arr.hasOwnProperty("1"));
assert.sameValue(arr.length, 1);
assert.sameValue(arr[0], 0);

View File

@ -31,6 +31,9 @@ try {
throw new Test262Error("expected to throw TypeError")
} catch (e) {
assert(e instanceof TypeError);
assert.sameValue(arr.length, 2);
verifyNotWritable(arr, "length");
}
verifyProperty(arr, "length", {
value: 2,
writable: false,
});

View File

@ -31,9 +31,14 @@ try {
throw new Test262Error("Expected to throw TypeError");
} catch (e) {
assert(e instanceof TypeError);
assert(arr.hasOwnProperty("1"));
verifyNotWritable(arr, "length");
assert.sameValue(arr[0], 0);
assert.sameValue(arr[1], 1);
assert.sameValue(arr.length, 2)
}
assert(arr.hasOwnProperty("1"));
verifyProperty(arr, "length", {
value: 2,
writable: false,
});
assert.sameValue(arr[0], 0);
assert.sameValue(arr[1], 1);

View File

@ -24,6 +24,9 @@ Object.defineProperties(arr, {
});
assert(!arr.hasOwnProperty("1"));
assert.sameValue(arr.length, 0);
assert(!arr.hasOwnProperty("0"));
verifyNotWritable(arr, "length");
verifyProperty(arr, "length", {
value: 0,
writable: false,
});

View File

@ -26,16 +26,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(obj, "prop", 11);
verifyNotWritable(obj, "prop");
verifyNotEnumerable(obj, "prop");
verifyNotConfigurable(obj, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(obj, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -26,16 +26,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(obj, "prop", 11);
verifyNotWritable(obj, "prop");
verifyNotEnumerable(obj, "prop");
verifyNotConfigurable(obj, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(obj, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -19,10 +19,9 @@ Object.defineProperties(arr, {
}
});
verifyEqualTo(arr, "0", undefined);
verifyNotWritable(arr, "0");
verifyEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: undefined,
writable: false,
enumerable: true,
configurable: false,
});

View File

@ -24,6 +24,7 @@ Object.defineProperties(arr, {
}
});
assert(arr.hasOwnProperty("0"));
verifyNotWritable(arr, "0");
assert.sameValue(arr[0], 1001);
verifyProperty(arr, "0", {
value: 1001,
writable: false,
});

View File

@ -24,6 +24,6 @@ Object.defineProperties(arr, {
}
});
assert(arr.hasOwnProperty("0"));
verifyNotConfigurable(arr, "0");
assert(arr.hasOwnProperty("0"));
verifyProperty(arr, "0", {
configurable: false,
});

View File

@ -26,10 +26,9 @@ Object.defineProperties(obj, {
}
});
verifyEqualTo(obj, "prop", 12);
verifyNotWritable(obj, "prop");
verifyNotEnumerable(obj, "prop");
verifyConfigurable(obj, "prop");
verifyProperty(obj, "prop", {
value: 12,
writable: false,
enumerable: false,
configurable: true,
});

View File

@ -21,10 +21,9 @@ Object.defineProperties(arr, {
}
});
verifyEqualTo(arr, "0", 1001);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: 1001,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -8,6 +8,7 @@ description: >
named property, 'P' property doesn't exist in 'O', test [[Set]] of
'P' property in 'Attributes' is set as undefined value if [[Set]]
is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)
includes: [propertyHelper.js]
---*/
var arr = [];
@ -23,22 +24,12 @@ Object.defineProperties(arr, {
}
});
var verifyEnumerable = false;
for (var i in arr) {
if (i === "0" && arr.hasOwnProperty("0")) {
verifyEnumerable = true;
}
}
var desc = Object.getOwnPropertyDescriptor(arr, "0");
var propertyDefineCorrect = arr.hasOwnProperty("0");
var verifyConfigurable = false;
delete arr[0];
verifyConfigurable = arr.hasOwnProperty("0");
verifyProperty(arr, "0", {
enumerable: true,
configurable: true,
});
assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set');
assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
assert.sameValue(desc.get, getFunc, 'desc.get');
assert.sameValue(verifyConfigurable, false, 'verifyConfigurable');
assert(verifyEnumerable, 'verifyEnumerable !== true');

View File

@ -39,4 +39,6 @@ if (arr.verifySetter !== 101) {
throw new Test262Error('Expected arr.verifySetter === 101, actually ' + arr.verifySetter);
}
verifyNotConfigurable(arr, 0);
verifyProperty(arr, "0", {
configurable: false,
});

View File

@ -42,6 +42,7 @@ verifyEqualTo(arr, "0", getFun());
verifyWritable(arr, "0", "setVerifyHelpProp");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
enumerable: false,
configurable: false,
});

View File

@ -18,10 +18,10 @@ arr[0] = 101; // default value of attributes: writable: true, configurable: true
Object.defineProperties(arr, {
"0": {}
});
verifyEqualTo(arr, "0", 101);
verifyWritable(arr, "0");
verifyEnumerable(arr, "0");
verifyConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: 101,
writable: true,
enumerable: true,
configurable: true,
});

View File

@ -34,6 +34,7 @@ verifyEqualTo(arr, "0", get_func());
verifyWritable(arr, "0", "setVerifyHelpProp");
verifyEnumerable(arr, "0");
verifyConfigurable(arr, "0");
verifyProperty(arr, "0", {
enumerable: true,
configurable: true,
});

View File

@ -24,10 +24,10 @@ Object.defineProperties(arr, {
}
});
verifyEqualTo(arr, "0", 100);
verifyWritable(arr, "0");
verifyEnumerable(arr, "0");
verifyConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: 100,
writable: true,
enumerable: true,
configurable: true,
});

View File

@ -38,6 +38,7 @@ verifyEqualTo(arr, "0", get_func());
verifyWritable(arr, "0", "setVerifyHelpProp");
verifyEnumerable(arr, "0");
verifyConfigurable(arr, "0");
verifyProperty(arr, "0", {
enumerable: true,
configurable: true,
});

View File

@ -26,16 +26,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(obj, "prop", 11);
verifyNotWritable(obj, "prop");
verifyNotEnumerable(obj, "prop");
verifyNotConfigurable(obj, "prop");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(obj, "prop", {
value: 11,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -22,10 +22,10 @@ Object.defineProperties(arr, {
value: undefined
}
});
verifyEqualTo(arr, "0", undefined);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: undefined,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -21,10 +21,10 @@ Object.defineProperties(arr, {
value: null
}
});
verifyEqualTo(arr, "0", null);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: null,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -22,10 +22,9 @@ Object.defineProperties(arr, {
}
});
verifyEqualTo(arr, "0", NaN);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: NaN,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -24,16 +24,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(arr, "0", -0);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(arr, "0", {
value: -0,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -24,16 +24,14 @@ try {
});
throw new Test262Error("Expected an exception.");
} catch (e) {
verifyEqualTo(arr, "0", +0);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
if (!(e instanceof TypeError)) {
throw new Test262Error("Expected TypeError, got " + e);
}
}
verifyProperty(arr, "0", {
value: +0,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -22,10 +22,10 @@ Object.defineProperties(arr, {
value: 101
}
});
verifyEqualTo(arr, "0", 101);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: 101,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -22,10 +22,10 @@ Object.defineProperties(arr, {
value: "abcd"
}
});
verifyEqualTo(arr, "0", "abcd");
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: "abcd",
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -22,10 +22,10 @@ Object.defineProperties(arr, {
value: true
}
});
verifyEqualTo(arr, "0", true);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: true,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -27,10 +27,10 @@ var properties = {
};
Object.defineProperties(arr, properties);
verifyEqualTo(arr, "0", obj1);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: obj1,
writable: false,
enumerable: false,
configurable: false,
});

View File

@ -21,10 +21,10 @@ Object.defineProperties(arr, {
writable: true
}
});
verifyEqualTo(arr, "0", undefined);
verifyWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: undefined,
writable: true,
enumerable: false,
configurable: false,
});

View File

@ -22,10 +22,10 @@ Object.defineProperties(arr, {
writable: false
}
});
verifyEqualTo(arr, "0", undefined);
verifyNotWritable(arr, "0");
verifyNotEnumerable(arr, "0");
verifyConfigurable(arr, "0");
verifyProperty(arr, "0", {
value: undefined,
writable: false,
enumerable: false,
configurable: true,
});

View File

@ -28,6 +28,7 @@ Object.defineProperties(arr, {
});
verifyEqualTo(arr, "0", get_func());
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
enumerable: false,
configurable: false,
});

View File

@ -28,6 +28,7 @@ Object.defineProperties(arr, {
});
verifyWritable(arr, "0", "setVerifyHelpProp");
verifyNotEnumerable(arr, "0");
verifyNotConfigurable(arr, "0");
verifyProperty(arr, "0", {
enumerable: false,
configurable: false,
});

Some files were not shown because too many files have changed in this diff Show More