| // Copyright (C) 2016 Jordan Harband. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| description: > |
| Object.getOwnPropertyDescriptors should not have its behavior impacted by modifications to Object.getOwnPropertyDescriptor |
| esid: sec-object.getownpropertydescriptors |
| author: Jordan Harband |
| ---*/ |
| |
| function fakeObjectGetOwnPropertyDescriptor() { |
| $ERROR('The overriden version of Object.getOwnPropertyDescriptor was called!'); |
| } |
| Object.getOwnPropertyDescriptor = fakeObjectGetOwnPropertyDescriptor; |
| |
| assert.sameValue( |
| Object.getOwnPropertyDescriptor, |
| fakeObjectGetOwnPropertyDescriptor, |
| 'Sanity check failed: could not modify the global Object.getOwnPropertyDescriptor' |
| ); |
| |
| assert.sameValue(Object.keys(Object.getOwnPropertyDescriptors({ |
| a: 1 |
| })).length, 1, 'Expected object with 1 key to have 1 descriptor'); |