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