| throw Error("Bad assertion!"); |
| function tryChangeNonConfigurableDescriptor(x) { |
| Object.defineProperty(arguments, 0, {configurable: false}); |
| Object.defineProperty(arguments, 0, x); |
| 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"); |