blob: c5a055fcc8268d811308b1cbd8238a3c924eb5b1 [file] [log] [blame]
function assert(a) {
if (!a)
throw Error("Bad assertion!");
}
function tryChangeNonConfigurableDescriptor(x) {
Object.defineProperty(arguments, 0, {configurable: false});
try {
Object.defineProperty(arguments, 0, x);
assert(false);
} catch(e) {
assert(e instanceof TypeError);
}
}
tryChangeNonConfigurableDescriptor({get: () => {return 50;} });
tryChangeNonConfigurableDescriptor({set: (x) => {}});
tryChangeNonConfigurableDescriptor({writable: true, enumerable: false});
function tryChangeWritableOfNonConfigurableDescriptor(x) {
Object.defineProperty(arguments, 0, {configurable: false});
Object.defineProperty(arguments, 0, {writable: true});
assert(Object.defineProperty(arguments, 0, {writable: false}));
}
tryChangeWritableOfNonConfigurableDescriptor("foo");