Update built-ins/Object/{create,freeze,seal} to use verifyProperty

This commit is contained in:
André Bargull 2023-09-28 15:15:42 +02:00 committed by Philip Chimento
parent e3ba8cea11
commit e108e876cd
79 changed files with 372 additions and 328 deletions

View File

@ -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,
});

View File

@ -15,5 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -26,5 +26,6 @@ var newObj = Object.create({}, {
prop: descObj prop: descObj
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -29,5 +29,6 @@ var newObj = Object.create({}, {
prop: descObj prop: descObj
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

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

View File

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

View File

@ -19,5 +19,6 @@ var newObj = Object.create({}, {
prop: descObj prop: descObj
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -29,5 +29,6 @@ var newObj = Object.create({}, {
prop: descObj prop: descObj
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -24,5 +24,6 @@ var newObj = Object.create({}, {
prop: descObj prop: descObj
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -15,6 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
verifyProperty(newObj, "prop", {
assert(newObj.hasOwnProperty("prop")); configurable: false,
verifyNotConfigurable(newObj, "prop"); });

View File

@ -15,5 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -15,5 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -15,5 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -15,6 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
verifyProperty(newObj, "prop", {
assert(newObj.hasOwnProperty("prop")); configurable: false,
verifyNotConfigurable(newObj, "prop"); });

View File

@ -15,5 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -15,5 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -15,5 +15,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -15,5 +15,7 @@ var newObj = Object.create({}, {
} }
}); });
assert.sameValue(newObj.prop, 100); verifyProperty(newObj, "prop", {
verifyNotWritable(newObj, "prop"); value: 100,
writable: false,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -17,5 +17,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotWritable(newObj, "prop"); writable: false,
});

View File

@ -18,5 +18,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -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,
});

View File

@ -18,5 +18,6 @@ var newObj = Object.create({}, {
} }
}); });
assert(newObj.hasOwnProperty("prop")); verifyProperty(newObj, "prop", {
verifyNotConfigurable(newObj, "prop"); configurable: false,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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); });

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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");

View File

@ -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); });

View File

@ -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");

View File

@ -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");

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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");

View File

@ -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,
});

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});

View File

@ -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,
});