mirror of
https://github.com/tc39/test262.git
synced 2025-07-29 00:44:32 +02:00
Update built-ins/Object/{create,freeze,seal} to use verifyProperty
This commit is contained in:
parent
e3ba8cea11
commit
e108e876cd
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"), "expected newObj to have 'prop'");
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -26,5 +26,6 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -29,5 +29,6 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -28,5 +28,6 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -31,5 +31,6 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -19,5 +19,6 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -29,5 +29,6 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -24,5 +24,6 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,6 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,6 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,5 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert.sameValue(newObj.prop, 100);
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: 100,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -22,5 +22,7 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert.sameValue(newObj.prop, 100);
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: 100,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -31,6 +31,7 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"))
|
||||
assert.sameValue(typeof(newObj.prop), "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -27,5 +27,7 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert.sameValue(newObj.prop, 100);
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: 100,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -15,6 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
assert.sameValue(typeof newObj.prop, "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -15,6 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
assert.sameValue(typeof newObj.prop, "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -15,6 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
assert.sameValue(typeof newObj.prop, "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -15,6 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
assert.sameValue(typeof newObj.prop, "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -15,6 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
assert.sameValue(typeof newObj.prop, "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -15,6 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"))
|
||||
assert.sameValue(typeof newObj.prop, "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -15,6 +15,7 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
assert.sameValue(typeof newObj.prop, "undefined")
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -17,6 +17,7 @@ var newObj = Object.create({}, {
|
||||
prop: descObj
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"))
|
||||
assert.sameValue(typeof newObj.prop, "undefined");
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
value: undefined,
|
||||
writable: false,
|
||||
});
|
||||
|
@ -17,5 +17,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotWritable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
writable: false,
|
||||
});
|
||||
|
@ -18,5 +18,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -7,6 +7,7 @@ description: >
|
||||
Object.create - [[Set]] is set as undefined if it is absent in
|
||||
accessor descriptor of one property in 'Properties' (8.12.9 step
|
||||
4.b)
|
||||
includes: [propertyHelper.js]
|
||||
---*/
|
||||
|
||||
var newObj = Object.create({}, {
|
||||
@ -27,19 +28,10 @@ if (newObj.prop === "verifyCreate") {
|
||||
verifyGet = true;
|
||||
}
|
||||
|
||||
var verifyEnumerable = false;
|
||||
for (var p in newObj) {
|
||||
if (p === "prop") {
|
||||
verifyEnumerable = true;
|
||||
}
|
||||
}
|
||||
|
||||
var verifyConfigurable = false;
|
||||
var hasProperty = newObj.hasOwnProperty("prop");
|
||||
delete newObj.prop;
|
||||
verifyConfigurable = !newObj.hasOwnProperty("prop") && hasProperty;
|
||||
|
||||
assert(verifySet, 'verifySet !== true');
|
||||
assert(verifyGet, 'verifyGet !== true');
|
||||
assert(verifyEnumerable, 'verifyEnumerable !== true');
|
||||
assert(verifyConfigurable, 'verifyConfigurable !== true');
|
||||
|
||||
verifyProperty(newObj, "prop", {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
});
|
||||
|
@ -18,5 +18,6 @@ var newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
assert(newObj.hasOwnProperty("prop"));
|
||||
verifyNotConfigurable(newObj, "prop");
|
||||
verifyProperty(newObj, "prop", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -34,18 +34,18 @@ newObj = Object.create({}, {
|
||||
}
|
||||
});
|
||||
|
||||
verifyEqualTo(newObj, "foo1", 200);
|
||||
|
||||
verifyWritable(newObj, "foo1");
|
||||
|
||||
verifyEnumerable(newObj, "foo1");
|
||||
|
||||
verifyConfigurable(newObj, "foo1");
|
||||
verifyProperty(newObj, "foo1", {
|
||||
value: 200,
|
||||
writable: true,
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
});
|
||||
|
||||
verifyEqualTo(newObj, "foo2", getFunc());
|
||||
|
||||
verifyWritable(newObj, "foo2", "setVerifyHelpProp");
|
||||
|
||||
verifyEnumerable(newObj, "foo2");
|
||||
|
||||
verifyConfigurable(newObj, "foo2");
|
||||
verifyProperty(newObj, "foo2", {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
});
|
||||
|
@ -19,8 +19,9 @@ info: |
|
||||
includes: [propertyHelper.js]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Object.create.name, "create");
|
||||
|
||||
verifyNotEnumerable(Object.create, "name");
|
||||
verifyNotWritable(Object.create, "name");
|
||||
verifyConfigurable(Object.create, "name");
|
||||
verifyProperty(Object.create, "name", {
|
||||
value: "create",
|
||||
writable: false,
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
});
|
||||
|
@ -17,6 +17,7 @@ Object.defineProperty(obj, "foo", {
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
assert(obj.hasOwnProperty("foo"));
|
||||
verifyNotWritable(obj, "foo");
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -13,7 +13,8 @@ obj.foo = 10; // default [[Configurable]] attribute value of foo: true
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
verifyNotWritable(obj, "foo");
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,7 +15,8 @@ arrObj.foo = 10; // default [[Configurable]] attribute value of foo: true
|
||||
|
||||
Object.freeze(arrObj);
|
||||
|
||||
verifyNotWritable(arrObj, "foo");
|
||||
verifyNotConfigurable(arrObj, "foo");
|
||||
|
||||
assert.sameValue(arrObj.foo, 10);
|
||||
verifyProperty(arrObj, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -17,8 +17,8 @@ var argObj = (function() {
|
||||
|
||||
Object.freeze(argObj);
|
||||
|
||||
var desc = Object.getOwnPropertyDescriptor(argObj, "0");
|
||||
|
||||
verifyNotWritable(argObj, "0");
|
||||
verifyNotConfigurable(argObj, "0");
|
||||
assert.sameValue(argObj[0], 1);
|
||||
verifyProperty(argObj, "0", {
|
||||
value: 1,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,7 +15,8 @@ var strObj = new String("abc");
|
||||
|
||||
Object.freeze(strObj);
|
||||
|
||||
verifyNotWritable(strObj, "0");
|
||||
verifyNotConfigurable(strObj, "0");
|
||||
|
||||
assert.sameValue(strObj[0], "a");
|
||||
verifyProperty(strObj, "0", {
|
||||
value: "a",
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -17,7 +17,8 @@ var obj = {
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
verifyNotWritable(obj, "0");
|
||||
verifyNotConfigurable(obj, "0");
|
||||
|
||||
assert.sameValue(obj[0], 0);
|
||||
verifyProperty(obj, "0", {
|
||||
value: 0,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -14,6 +14,8 @@ var arrObj = [0, 1, 2];
|
||||
|
||||
Object.freeze(arrObj);
|
||||
|
||||
verifyNotWritable(arrObj, "0");
|
||||
verifyNotConfigurable(arrObj, "0");
|
||||
assert.sameValue(arrObj[0], 0);
|
||||
verifyProperty(arrObj, "0", {
|
||||
value: 0,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -23,7 +23,8 @@ child.foo = 10; // default [[Configurable]] attribute value of foo: true
|
||||
|
||||
Object.freeze(child);
|
||||
|
||||
verifyNotWritable(child, "foo");
|
||||
verifyNotConfigurable(child, "foo");
|
||||
|
||||
assert.sameValue(child.foo, 10);
|
||||
verifyProperty(child, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -29,6 +29,8 @@ Object.defineProperty(child, "foo", {
|
||||
|
||||
Object.freeze(child);
|
||||
|
||||
verifyNotWritable(child, "foo");
|
||||
verifyNotConfigurable(child, "foo");
|
||||
assert.sameValue(child.foo, 10);
|
||||
verifyProperty(child, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -18,5 +18,8 @@ Object.defineProperty(obj, "foo", {
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
assert.sameValue(obj.foo, 10);
|
||||
|
@ -28,5 +28,8 @@ Object.defineProperty(child, "foo", {
|
||||
|
||||
Object.freeze(child);
|
||||
|
||||
verifyNotConfigurable(child, "foo");
|
||||
verifyProperty(child, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
assert.sameValue(child.foo, 10);
|
||||
|
@ -32,5 +32,8 @@ Object.defineProperty(child, "foo", {
|
||||
|
||||
Object.freeze(child);
|
||||
|
||||
verifyNotConfigurable(child, "foo");
|
||||
verifyProperty(child, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
assert.sameValue(child.foo, 10);
|
||||
|
@ -17,6 +17,8 @@ argObj.foo = 10; // default [[Configurable]] attribute value of foo: true
|
||||
|
||||
Object.freeze(argObj);
|
||||
|
||||
verifyNotWritable(argObj, "foo");
|
||||
verifyNotConfigurable(argObj, "foo");
|
||||
assert.sameValue(argObj.foo, 10);
|
||||
verifyProperty(argObj, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,6 +15,8 @@ strObj.foo = 10; // default [[Configurable]] attribute value of foo: true
|
||||
|
||||
Object.freeze(strObj);
|
||||
|
||||
verifyNotWritable(strObj, "foo");
|
||||
verifyNotConfigurable(strObj, "foo");
|
||||
assert.sameValue(strObj.foo, 10);
|
||||
verifyProperty(strObj, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -15,7 +15,8 @@ funObj.foo = 10; // default [[Configurable]] attribute value of foo: true
|
||||
|
||||
Object.freeze(funObj);
|
||||
|
||||
verifyNotWritable(funObj, "foo");
|
||||
verifyNotConfigurable(funObj, "foo");
|
||||
|
||||
assert.sameValue(funObj.foo, 10);
|
||||
verifyProperty(funObj, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -19,20 +19,10 @@ Object.defineProperty(obj, "foo", {
|
||||
});
|
||||
|
||||
Object.freeze(obj);
|
||||
var desc = Object.getOwnPropertyDescriptor(obj, "foo");
|
||||
|
||||
verifyEqualTo(obj, "foo", 10);
|
||||
|
||||
verifyNotWritable(obj, "foo");
|
||||
|
||||
verifyEnumerable(obj, "foo");
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
|
||||
if (desc.writable !== false) {
|
||||
throw new Test262Error('Expected desc.writable === false, actually ' + desc.writable);
|
||||
}
|
||||
|
||||
if (desc.configurable !== false) {
|
||||
throw new Test262Error('Expected desc.configurable === false, actually ' + desc.configurable);
|
||||
}
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -28,37 +28,16 @@ Object.defineProperty(obj, "foo2", {
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
var desc1 = Object.getOwnPropertyDescriptor(obj, "foo1");
|
||||
var desc2 = Object.getOwnPropertyDescriptor(obj, "foo2");
|
||||
verifyProperty(obj, "foo1", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
verifyEqualTo(obj, "foo1", 10);
|
||||
|
||||
verifyNotWritable(obj, "foo1");
|
||||
|
||||
verifyEnumerable(obj, "foo1");
|
||||
|
||||
verifyNotConfigurable(obj, "foo1");
|
||||
|
||||
verifyEqualTo(obj, "foo2", 20);
|
||||
|
||||
verifyNotWritable(obj, "foo2");
|
||||
|
||||
verifyNotEnumerable(obj, "foo2");
|
||||
|
||||
verifyNotConfigurable(obj, "foo2");
|
||||
|
||||
if (desc1.configurable !== false) {
|
||||
throw new Test262Error('Expected desc1.configurable === false, actually ' + desc1.configurable);
|
||||
}
|
||||
|
||||
if (desc1.writable !== false) {
|
||||
throw new Test262Error('Expected desc1.writable === false, actually ' + desc1.writable);
|
||||
}
|
||||
|
||||
if (desc2.configurable !== false) {
|
||||
throw new Test262Error('Expected desc2.configurable === false, actually ' + desc2.configurable);
|
||||
}
|
||||
|
||||
if (desc2.writable !== false) {
|
||||
throw new Test262Error('Expected desc2.writable === false, actually ' + desc2.writable);
|
||||
}
|
||||
verifyProperty(obj, "foo2", {
|
||||
value: 20,
|
||||
writable: false,
|
||||
enumerable: false,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -21,19 +21,9 @@ Object.defineProperty(obj, "foo", {
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
var desc = Object.getOwnPropertyDescriptor(obj, "foo");
|
||||
|
||||
if (desc.configurable !== false) {
|
||||
throw new Test262Error("Expected desc.configurable to be false, actually " + desc.configurable);
|
||||
}
|
||||
if (desc.writable !== false) {
|
||||
throw new Test262Error("Expected desc.writable to be false, actually " + desc.writable);
|
||||
}
|
||||
|
||||
verifyEqualTo(obj, "foo", 10);
|
||||
|
||||
verifyNotWritable(obj, "foo");
|
||||
|
||||
verifyEnumerable(obj, "foo");
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -31,15 +31,16 @@ Object.defineProperty(obj, "foo", {
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
assert(obj.hasOwnProperty("foo"));
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
assert.sameValue(obj.foo, 10);
|
||||
|
||||
obj.foo = 12;
|
||||
assert(set_funcCalled);
|
||||
|
||||
verifyEnumerable(obj, "foo");
|
||||
|
||||
var desc = Object.getOwnPropertyDescriptor(obj, "foo");
|
||||
assert.sameValue(desc.configurable, false);
|
||||
verifyProperty(obj, "foo", {
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -37,7 +37,10 @@ Object.defineProperty(obj, "foo2", {
|
||||
|
||||
Object.freeze(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo2");
|
||||
verifyProperty(obj, "foo2", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
verifyEqualTo(obj, "foo2", 10);
|
||||
|
||||
obj.foo2 = 12;
|
||||
@ -45,24 +48,19 @@ if (!resultSetFun) {
|
||||
throw new Test262Error('Expected obj["foo2"] set() to be called, but was not.');
|
||||
}
|
||||
|
||||
if (!isEnumerable(obj, "foo2")) {
|
||||
throw new Test262Error('Expected obj["foo2"] to be enumerable.');
|
||||
}
|
||||
|
||||
var desc1 = Object.getOwnPropertyDescriptor(obj, "foo1");
|
||||
if (desc1.configurable || desc1.writable) {
|
||||
throw new Test262Error('Expected obj["foo1"] to be non-writable, non-configurable; actually ' + JSON.stringify(desc1));
|
||||
}
|
||||
verifyProperty(obj, "foo2", {
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
var desc2 = Object.getOwnPropertyDescriptor(obj, "foo2");
|
||||
if (desc2.configurable || desc2.writable) {
|
||||
if (desc2.writable) {
|
||||
throw new Test262Error('Expected obj["foo2"] to be non-writable, non-configurable; actually ' + JSON.stringify(desc2));
|
||||
}
|
||||
|
||||
verifyEqualTo(obj, "foo1", 10);
|
||||
|
||||
verifyNotWritable(obj, "foo1");
|
||||
|
||||
verifyEnumerable(obj, "foo1");
|
||||
|
||||
verifyNotConfigurable(obj, "foo1");
|
||||
verifyProperty(obj, "foo1", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -38,29 +38,28 @@ Object.freeze(obj);
|
||||
|
||||
verifyEqualTo(obj, "foo2", 10);
|
||||
|
||||
verifyNotConfigurable(obj, "foo2");
|
||||
verifyProperty(obj, "foo2", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
obj.foo2 = 12;
|
||||
if (!resultSetFun) {
|
||||
throw new Test262Error('Expected obj["foo2"] set() to be called, but was not.');
|
||||
}
|
||||
|
||||
verifyEnumerable(obj, "foo2");
|
||||
|
||||
var desc1 = Object.getOwnPropertyDescriptor(obj, "foo1");
|
||||
if (desc1.configurable || desc1.writable) {
|
||||
throw new Test262Error('Expected obj["foo1"] to be non-writable, non-configurable; actually ' + JSON.stringify(desc1));
|
||||
}
|
||||
verifyProperty(obj, "foo2", {
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
var desc2 = Object.getOwnPropertyDescriptor(obj, "foo2");
|
||||
if (desc2.configurable || desc2.writable) {
|
||||
if (desc2.writable) {
|
||||
throw new Test262Error('Expected obj["foo2"] to be non-writable, non-configurable; actually ' + JSON.stringify(desc2));
|
||||
}
|
||||
|
||||
verifyEqualTo(obj, "foo1", 10);
|
||||
|
||||
verifyNotWritable(obj, "foo1");
|
||||
|
||||
verifyEnumerable(obj, "foo1");
|
||||
|
||||
verifyNotConfigurable(obj, "foo1");
|
||||
verifyProperty(obj, "foo1", {
|
||||
value: 10,
|
||||
writable: false,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -19,8 +19,9 @@ info: |
|
||||
includes: [propertyHelper.js]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Object.freeze.name, "freeze");
|
||||
|
||||
verifyNotEnumerable(Object.freeze, "name");
|
||||
verifyNotWritable(Object.freeze, "name");
|
||||
verifyConfigurable(Object.freeze, "name");
|
||||
verifyProperty(Object.freeze, "name", {
|
||||
value: "freeze",
|
||||
writable: false,
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
});
|
||||
|
@ -40,19 +40,18 @@ if (!preCheck) {
|
||||
throw new Test262Error('Expected preCheck to be true, actually ' + preCheck);
|
||||
}
|
||||
|
||||
|
||||
verifyEqualTo(obj, "foo1", 10);
|
||||
|
||||
verifyWritable(obj, "foo1");
|
||||
|
||||
verifyEnumerable(obj, "foo1");
|
||||
|
||||
verifyNotConfigurable(obj, "foo1");
|
||||
verifyProperty(obj, "foo1", {
|
||||
value: 10,
|
||||
writable: true,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
verifyEqualTo(obj, "foo2", get_func());
|
||||
|
||||
verifyWritable(obj, "foo2", "variableForHelpVerify");
|
||||
|
||||
verifyEnumerable(obj, "foo2");
|
||||
|
||||
verifyNotConfigurable(obj, "foo2");
|
||||
verifyProperty(obj, "foo2", {
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -37,6 +37,7 @@ verifyEqualTo(obj, "foo", getFunc());
|
||||
|
||||
verifyWritable(obj, "foo", "variableForHelpVerify");
|
||||
|
||||
verifyEnumerable(obj, "foo");
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -14,8 +14,9 @@ info: |
|
||||
includes: [propertyHelper.js]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Object.seal.length, 1);
|
||||
|
||||
verifyNotEnumerable(Object.seal, "length");
|
||||
verifyNotWritable(Object.seal, "length");
|
||||
verifyConfigurable(Object.seal, "length");
|
||||
verifyProperty(Object.seal, "length", {
|
||||
value: 1,
|
||||
writable: false,
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
});
|
||||
|
@ -19,8 +19,9 @@ info: |
|
||||
includes: [propertyHelper.js]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Object.seal.name, "seal");
|
||||
|
||||
verifyNotEnumerable(Object.seal, "name");
|
||||
verifyNotWritable(Object.seal, "name");
|
||||
verifyConfigurable(Object.seal, "name");
|
||||
verifyProperty(Object.seal, "name", {
|
||||
value: "seal",
|
||||
writable: false,
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
});
|
||||
|
@ -43,17 +43,18 @@ if (Object.isExtensible(obj)) {
|
||||
throw new Test262Error('Expected obj NOT to be extensible, actually ' + Object.isExtensible(obj));
|
||||
}
|
||||
|
||||
verifyEqualTo(obj, "foo1", 10);
|
||||
verifyProperty(obj, "foo1", {
|
||||
value: 10,
|
||||
writable: true,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
verifyWritable(obj, "foo1");
|
||||
|
||||
verifyEnumerable(obj, "foo1");
|
||||
|
||||
verifyNotConfigurable(obj, "foo1");
|
||||
verifyEqualTo(obj, "foo2", get_func());
|
||||
|
||||
verifyWritable(obj, "foo2", "variableForHelpVerify");
|
||||
|
||||
verifyEnumerable(obj, "foo2");
|
||||
|
||||
verifyNotConfigurable(obj, "foo2");
|
||||
verifyProperty(obj, "foo2", {
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -25,10 +25,9 @@ if (!preCheck) {
|
||||
throw new Test262Error('Expected preCheck to be true, actually ' + preCheck);
|
||||
}
|
||||
|
||||
verifyEqualTo(obj, "foo", 10);
|
||||
|
||||
verifyWritable(obj, "foo");
|
||||
|
||||
verifyEnumerable(obj, "foo");
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
writable: true,
|
||||
enumerable: true,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -18,5 +18,6 @@ Object.defineProperty(obj, "foo", {
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
assert(obj.hasOwnProperty("foo"));
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -33,5 +33,8 @@ Object.defineProperty(obj, "foo", {
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
assert.sameValue(obj.foo, 10);
|
||||
|
@ -31,5 +31,8 @@ Object.defineProperty(obj, "foo", {
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
assert.sameValue(obj.foo, 10);
|
||||
|
@ -19,5 +19,8 @@ Object.defineProperty(obj, "foo", {
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
verifyProperty(obj, "foo", {
|
||||
configurable: false,
|
||||
});
|
||||
|
||||
assert.sameValue(obj.foo, 10);
|
||||
|
@ -30,5 +30,7 @@ Object.defineProperty(obj, "foo", {
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -25,5 +25,7 @@ Object.defineProperty(obj, "foo", {
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -14,5 +14,7 @@ obj.foo = 10; // default [[Configurable]] attribute value of foo: true
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -18,5 +18,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
@ -16,5 +16,7 @@ obj.foo = 10;
|
||||
assert(Object.isExtensible(obj));
|
||||
Object.seal(obj);
|
||||
|
||||
verifyNotConfigurable(obj, "foo");
|
||||
assert.sameValue(obj.foo, 10);
|
||||
verifyProperty(obj, "foo", {
|
||||
value: 10,
|
||||
configurable: false,
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user