* Sets a non-enumerable property value on `object`. * * Note: This function is used to avoid a bug in older versions of V8 where * overwriting non-enumerable built-ins makes them enumerable. * See https://code.google.com/p/v8/issues/detail?id=1623 * * @private * @param {Object}
(object, key, value)
| 473 | * @param {*} value The property value. |
| 474 | */ |
| 475 | function setProperty(object, key, value) { |
| 476 | try { |
| 477 | defineProperty(object, key, { |
| 478 | 'configurable': true, |
| 479 | 'enumerable': false, |
| 480 | 'writable': true, |
| 481 | 'value': value |
| 482 | }); |
| 483 | } catch (e) { |
| 484 | object[key] = value; |
| 485 | } |
| 486 | return object; |
| 487 | } |
| 488 | |
| 489 | /** |
| 490 | * Skips a given number of tests with a passing result. |